精华内容
下载资源
问答
  • 串口控制LED.rar

    2020-04-02 23:20:39
    开发板中连接了MCU的2个串口,分别为USART1和USART3,其中USART1通过CH340G接PC端USB口,实现USB转串口功能,可以用于程序下载和串口通信,但通过PC端的超级终端连接时不能连接,所以本程序使用开发板上的另一个串口...
  • STM32串口控制LED

    2018-06-28 09:10:34
    程序是基于STM32F103ZET6的一个实验程序。可通过发送指令控制LED灯,可以开启和关闭LED灯,以及蜂鸣器等外设
  • 程序通过keil5软件编写,你可以通过串口发送指令,来控制STM32F103C8T6单片机,并且通过串口返回LED的状态。(注意:程序中我使用的是PB8引脚和USART1串口。结和自己情况可以改变程序中的引脚,同时你也可以在引脚上...
  • STM32串口控制LED闪烁

    2011-07-29 14:44:28
    最基础的串口控制程序 初学者入门时值得研究
  • 有谁有用C#写的串口通信程序的源代码,就像串口调试助手那种软件,用PC通过串口控制液晶显示模块?
  • 通过延时函数,中断函数,9600波特率,switch ——case等函数完成程序 使用串口助手发送16进制数控制相应的led灯的亮灭
  • 单片机串口控制+程序

    2018-10-10 21:38:05
    1.实现串口控制多个LED小灯。 2.实现 串口控制温度模块使单片机显示板能显示当前温度。 3.实现串口控制一个继电器接风扇 4.以上串口的控制,利用单片机上所留的RX、TX口输入数据,实现控制(比如,我往TX口发送字母...
  • arduino程序-串口控制开关灯uart_led,使用蓝牙模块。
  • 实验1:串口控制LED灯 目的:根据教程学习了跑马灯和串口通信实验,,因之前在学校有自学过一点Unity3d软体基础使用,为了将这些融合在一起,就想做用unity3d做上位机程序,通过串口通信,控制LED灯亮和灭。 数据...

    实验1:串口控制LED灯

    目的:根据教程学习了跑马灯和串口通信实验,,因之前在学校有自学过一点Unity3d软体基础使用,为了将这些融合在一起,就想做用unity3d做上位机程序,通过串口通信,控制LED灯亮和灭。

     

     

    数据处理部分:串口接收函数返回的数据类型是字符,判断:Res == '1',控制灯灭;Res == ‘0’,判断灯亮

    Res =USART_ReceiveData(USART1);

    代码链接:https://pan.baidu.com/s/1odWlKqIFnkBc9ns28UEEmw 
    提取码:v9ow

    展开全文
  • ​几乎所有的编程学习都是从“hello,world”程序开始的,这几乎已经成为学习编程的一个传统,既然本系列文章的标题是《Arduino项目实战:从点亮Led到物联网》,那么我们还是从点亮Led来开始我们的Arduino项目实战之...

    8b3a2471017001f6383043bcf822eae0.png
    ​几乎所有的编程学习都是从“hello,world”程序开始的,这几乎已经成为学习编程的一个传统,既然本系列文章的标题是《Arduino项目实战:从点亮Led到物联网》,那么我们还是从点亮Led来开始我们的Arduino项目实战之旅。

    本文对于初学者来说非常重要,它会告诉你

    • 如何用数据线连接Arduino电路板
    • Arduino程序的基本结构
    • 怎么上传程序到Arduino电路板
    • 几个重要的Arduino函数

    1 项目介绍

    点亮LED灯,并让LED灯闪动。
    在这个项目中,我们先不用自己准备LED灯,我们先使用Arduino UNO电路板上面集成的LED灯,如下图红箭头所示的位置。

    d4b6dbef2894e2d01606d190a13f36fc.png

    UNO-01.jpg

    在Arduino系列的电路板上,有不少型号都集成了一个可控制的LED灯,但是它们的引脚PIN并不完全相同,Ardunio Uno, MEGA, ZERO是PIN13,而Ardunio MKR1000是PIN6。本文使用的是UNO电路板,如果您手上的电路板不是UNO,还请确认一下它是否集成有可控LED,然后它的引脚是哪一个。

    2 所需元器件

    元器件型号数量备注主控板arduino Uno1

    数据线Uno数据线1

    3 设备连接

    您只需要将Arduino UNO电路板通过数据线跟电脑的USB口连接即可,如下图所示,数据线一端插入UNO电路板的数据接口,另一端插入电脑USB接口。

    7dd9fd94b91074474cb7ab246c2cbc2b.png

    UNO-02.jpg

    当UNO电路板跟电脑连接上后,如果您使用的是WIN10操作系统,电脑会自动安装USB转串口驱动程序。Arduino电路板是通过串口跟电脑进行通信的,目前大部分的电脑都不再配备串口,老式的电脑会有,串口是长这个样子的:

    e5eed1369e995364f2ca934169c39ef1.png

    COM04.jpg

    现在的个人电脑一般不会配置串口(如果它不是上个世纪购买的话),所以我们使用USB口跟Arduino电路板进行通信,这时候我们就需要实现USB口跟串口的转换,Arduino电路板上都集成了USB转串口的芯片,我们只需要安装驱动即可。如果您的电脑安装驱动成功,在电脑的设备管理(鼠标点击电脑桌面“我的电脑”-点击鼠标右键-在弹出菜单中选择“管理”)中会看到USB串行设备,如下图所示:

    de40aa2f3173087bd0e16b374c9fb702.png

    COM 02.png

    如果您的电脑没有自动安装驱动,您可能需要手动安装一下。

    4 程序代码

    前面介绍过,我们的第一个项目并不需要您敲任何代码,在Arduino IDE的文件菜单---示例---01. Basics---Blink,打开Blink文件,如下图所示:

    8a00eeaba1b5332043eeea2e97b76ee1.png

    程序 01.png

    下面是Blink程序的代码:

    /*
      Blink
    
      Turns an LED on for one second, then off for one second, repeatedly.
    
      Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO
      it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to
      the correct LED pin independent of which board is used.
      If you want to know what pin the on-board LED is connected to on your Arduino
      model, check the Technical Specs of your board at:
      https://www.arduino.cc/en/Main/Products
    
      modified 8 May 2014
      by Scott Fitzgerald
      modified 2 Sep 2016
      by Arturo Guadalupi
      modified 8 Sep 2016
      by Colby Newman
    
      This example code is in the public domain.
    
      http://www.arduino.cc/en/Tutorial/Blink
    */
    
    // the setup function runs once when you press reset or power the board
    void setup() {
      // initialize digital pin LED_BUILTIN as an output.
      pinMode(LED_BUILTIN, OUTPUT);
    }
    
    // the loop function runs over and over again forever
    void loop() {
      digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
      delay(1000);                       // wait for a second
      digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
      delay(1000);                       // wait for a second
    }
    

    在上面的程序中,我们发现其实大部分内容都被“ /* ”和“ */ ”包裹,这部分内容是程序中的注释,注释并不是程序的一部分,在程序编译时,这部分内容会被编译器忽略,注释的目的是解释某一小段或者某一行代码的功能,便于今后自己或者别人读到这段代码时能够很快的理解。

    在Arduino程序中,有两种形式的注释:
    • 单行注释:以 // 开始,直到行末为止;
    • 多行注释:以 /* 开始,以 */ 终止。

    所以我们去掉上面代码中注释的部分,程序如下:

    void setup() {
      pinMode(LED_BUILTIN, OUTPUT);
    }
    
    void loop() {
      digitalWrite(LED_BUILTIN, HIGH);  
      delay(1000);           
      digitalWrite(LED_BUILTIN, LOW); 
      delay(1000);  
    }
    

    是不是看起来清爽了许多,不过如果你不熟悉Arduino编程的话,这段代码看起来就不知所云了,带注释的代码看起来冗余,但我们大体能够读明白程序的功能。具体的程序语句我们将在下一节做详细的讲解,敬请小伙伴们期待把!!1

    5 执行效果

    当您完成上面的一切,您是不是有点迫不及待的想上传程序到Arduino电路板上看看程序的执行效果了?好吧,开始上传吧,按照本文之前介绍的,先确认电路板跟电脑的连接,如果没问题,选择好COM通信端口,点击“上传”按钮。

    当程序上传成功后,Arduino电路板会自动重启,如果一切正常,您会看到UNO的板载LED开始按照1秒1次的频率闪烁了。

    恭喜您,您的第一个Arduino项目完成了,虽然简单,但是意义非凡。您已经推开了一扇窗,一扇从虚拟的软件世界到真实的物理世界的窗户,窗户那一侧的世界无疑非常精彩,等待着您一起来探索!


    如果您喜欢我的文章,请关注我的微信公众平台“STEM创客基地”

    展开全文
  • 串口控制FPGA Led亮灭

    2015-01-08 23:31:18
    http://blog.csdn.net/mybelief321/article/details/42532247 自己用C#写的通过串口控制FPGA的LED灯亮灭,数码管显示LED亮的个数,FPGA的程序也是自己看书编写修改的,分享出来吧,但愿对你有用
  • 电子-MINIV3串口助手发送特定字符串控制LED测试程序.rar,综合电子技术正点原子技术支持板块
  • 前面两节讨论了如何利用 C语言编程单片机,控制普通 LED 小灯实现类似手机上面的“呼吸灯”,但是这两节介绍的方法交互性比较差,一旦程序烧写,就无法再从外界控制 LED 小灯的动作了。提升交互性所以,上一节介绍了...

    前面两节讨论了如何利用 C语言编程单片机,控制普通 LED 小灯实现类似手机上面的“呼吸灯”,但是这两节介绍的方法交互性比较差,一旦程序烧写,就无法再从外界控制 LED 小灯的动作了。

    41702ed7438334f2dcb0db0492139d5b.png

    提升交互性

    所以,上一节介绍了单片机和电脑通信的方法,旨在能够通过电脑发送命令给单片机控制 LED 小灯的动作。例如制定以下协议:

    • 电脑端输入 led twinkle 命令,单片机立刻控制 LED 小灯闪烁。
    • 电脑端输入 led breath 命令,单片机立刻控制 LED 小灯成为“呼吸灯”。
    • 电脑端输入 led off 命令,单片机立刻关闭 LED 小灯。

    最终实现如下效果:

    8c838bd6648f39e14f1f19343e67eff6.gif

    使用更加轻量级的通信函数

    上一节说到,keil 将 printf 的输出重定向到串口后,51 单片机也能很方便的使用 printf 将内部信息传输给电脑端。但是,使用这种方法开销非常大:

    01035c4eecda116eb9fa05760bad1223.png

    可以看出,上面的C语言代码仅比下面代码多了一个 printf(“”) 函数,最终编译生成的代码 size 却多处近 1 倍!这对于资源匮乏的 51 单片机来说,是不可接受的。因此自己实现一个轻量级的通信函数是非常必要的。

    这其实也是嵌入式程序开发的特点,不能浪费甚至一个字节。所以,嵌入式程序员都是勤俭持家的好手。

    那么,怎样实现轻量级的 printf 函数呢?嵌入式开发中常见的还有一个词——“裁剪”。顾名思义,就是为了节约资源,嵌入式程序员常常把一个模块中用不到的功能剔除,仅留下核心功能。

    现在想想,我们仅需 printf 发送字符串的功能,就可以完成需求。所以单片机往电脑端发送数据的C语言函数可以如下定义:

    void prints(char* str){ unsigned char i = 0; TI = 0; for(;str[i]!='0'; i++){  SBUF = str[i]; while(!TI); TI = 0; }}

    代码很简单,prints() 函数将 str 逐字节传递给 SBUF 寄存器,单片机则会自动将 SBUF 中的数据传输到串口,并且传送完毕后,将 TI 寄存器置 1。

    制定协议,实现电脑用“命令”控制 LED 小灯

    现在通信没问题了,那么怎样实现“命令”控制 LED 小灯呢?可以这么干:单片机随时检测串口数据,一旦接收到我们前面定义的命令,就做出相应的动作。所以,C语言代码可以如下写:

    #define TWINKLE "led twinkle"#define BREATH "led breath"#define LEDOFF "led off"if(is_new_cmd_ready()){ cmd_len = get_uart_cmd(cmd); prints("recv cmd:");prints(cmd);prints(""); if(is_cmd_match(cmd, BREATH, cmd_len)){ prints(" match ");prints(BREATH);prints(""); action = 1; }else if(is_cmd_match(cmd, TWINKLE, cmd_len)){ prints(" match ");prints(TWINKLE);prints(""); action = 2; }else if(is_cmd_match(cmd, LEDOFF, cmd_len)){ prints(" match ");prints(LEDOFF);prints(""); action = 3; }else{ prints(" cmd not match"); action = 0; } }
    ab20338a92fffa52825319e5a9dcf3cb.png

    上面的C语言代码中, action 会随着电脑端发送过来的命令做出相应改变。例如,电脑端发送“led twinkle”可以把 action 设置为 1,电脑端发送“led off”,可以让 action 等于 3。

    接下来,把相应的 LED 小灯动作写入不同的 action 就可以了:

    switch(action){ case 1: // 呼吸灯 break; case 2: // 闪烁的小灯 break; case 3: // 关闭小灯 break; default: break;  }

    “呼吸灯”,闪烁小灯,以及关闭小灯的动作前面几节已经介绍过,将其填入即可:

    31cb8b468b4d8b1387f986a87d29687f.png

    现在控制程序也就写好了,编译程序并烧写到单片机。

    实验,电脑通过发送命令,控制 LED 小灯变化

    初始状态如下图,因为电脑端还没有输入相应的命令,所以 LED 小灯处于熄灭状态。

    4b865a742072e81192a77ab3b81c5a69.png

    接着,在串口调试工具输入“led twinkle”,发送到单片机:

    f7ebb831cda618ddd4bd506d213532eb.png

    可以看到 LED 小灯开始闪烁了:

    0b87bf69418c98f2bffff305b5cd0838.gif

    然后再在电脑端输入“led breath”,发送到单片机:

    f7d0afa4c73b6a6ae80381786c4eee90.png

    会发现 LED 小灯变成呼吸灯了:

    10747506a36f4c81bb3ee84459bf9478.gif

    最后再输入“led off”,能够发现 LED 小灯被熄灭了。

    ebafbffa624bc64fb32d2df1b2bf7539.png

    完整的流程,请看文章开头的视频。

    至此,我们就实现了从电脑端发送命令,控制 LED 小灯动作。

    欢迎在评论区一起讨论,质疑。文章都是手打原创,每天最浅显的介绍C语言、linux等嵌入式开发,喜欢我的文章就关注一波吧,可以看到最新更新和之前的文章哦。

    展开全文
  • 通过STM32 串口1 接收字符串实现LED控制程序通过判断\n识别字符串是否发送完成,所以串口调试助手上需勾选发送新行,发送LED1+ON点亮LED1,发送LED1+OFF关闭LED1,发送其他字符串翻转LED2
  • OK6410串口通信控制LED

    千次阅读 2012-07-05 10:25:24
    串口控制LED灯的点亮。我们要实现的功能是: 在PC的超级终端里 输入 1,LED1点亮,并关闭其他灯。 输入 2,LED2点亮,并关闭其他灯。 输入 3,LED3点亮,并关闭其他灯。 输入 4,LED4点亮,并关闭其他灯。 ...
    串口通讯在工业控制中使用十分广泛,下面是我做的一个简单的串口通讯实验。
    用串口控制LED灯的点亮。我们要实现的功能是:
    在PC的超级终端里
    输入 1,LED1点亮,并关闭其他灯。
    输入 2,LED2点亮,并关闭其他灯。
    输入 3,LED3点亮,并关闭其他灯。
    输入 4,LED4点亮,并关闭其他灯。
    我使用的是裸机程序,程序涉及到CPU的时钟初始化,串口初始化。
    将程序生成的uart.bin下载到nandflash的0 100000地址去运行
    (下载方法参见:http://blog.csdn.net/liushaowei2008/article/details/7713810)

    下面上程序:

    http://download.csdn.net/detail/liushaowei2008/4411828

    展开全文
  • MSP430串口接收控制LED

    千次阅读 2017-11-02 19:57:50
    *程序描述:单片机的P3.4、P3.5作为串口接收字符,将接受到的字符再发送出去 *并且根据接受到的字符‘1’‘2’‘3’‘4’分别点亮LED1、LED2、LED3、LED4 P2.0->LED1 ,P2.1->LED2, P2.2->LED3 ,P2.3->LED4 *作者 :...
  • 使用vb语言编程通过串口控制LED显示屏设备的源代码程序
  • 串口控制RGB灯程序

    2018-04-30 12:39:00
    STM32收到数据进入中断程序原封不动返回上位机,并且根据收到的信息产出相应的进行操作.(1- led_on 2 – ledoff...); 源码 方法1: bsp_usart.c #include "bsp_usart.h" static void NVIC_Configuration...
  • STM32串口接收字符串并控制LED

    万次阅读 多人点赞 2018-08-05 11:32:50
    通过STM32 串口1 接收字符串实现LED控制程序通过判断\n识别字符串是否发送完成,所以串口调试助手上需勾选发送新行,发送LED1+ON点亮LED1,发送LED1+OFF关闭LED1,发送其他字符串翻转LED2
  • 整个程序分为两个部分,程序的轮询和中断两部分 中断部分包括 定时器中断,串口中断,外部中断 定时器中断:LED2利用定时器进行延时,中断中执行相应的LED2的操作 串口中断:接收PC向单片机发送的数据。 外部中断:...
  • Android串口开发实现控制led灯的开关

    千次阅读 2019-04-01 15:49:56
    因为这篇帖子讲的是需要通过Android程序向继电器发送串口命令来控制继电器的开关,继而来控制led灯的开关,所以这篇帖子看起来比较枯燥。 串口开发首先要有串口的开发环境,此处用的是aar包。 下载地址: 串口开发...
  • 程序使用STM32-PZ6806L开发板,实现USART3与PC端串口的超级终端通信,通过超级终端,用户从PC机键盘输入按键可以控制开发板的LED等状态改变。内含Keil5环境的项目源码和HyperTerminal超级终端软件。
  • 本实验是为了测试STM32F407开发板和迪文DGUS串口屏通信是否正常做的一个测试程序,试验的目的是能通过触摸屏和开发板按键都能控制led 灯的亮灭,并且开始(key1)键和停止(key2)键按键按下后,状态反馈到触目屏的...
  • 串口助手发送特定字符来控制LED的亮灭?? 或者给个思路吧!核心的代码写一点也好啊! 有没有大神帮忙把控制部分的程序写下,谢谢啦!刚开始学,请教啊!
  • ZigBee-CC2530单片机 - 实现计算机串口通讯控制LED发光二极管 程序源码 /************************************************************** * 文件名称:uart2.c * 功 能:PC机控制发光二极管亮灭 ***************...
  • 程序实现单片机通过串口向调试助手发送字节、全字、字符串、数组等; 通过调试助手向单片机发送指令(字符)控制LED
  • MSP430 串口接收指令控制LED亮灭

    千次阅读 2018-07-12 18:40:26
    准备器材:MSP430开发板一块,串口线,PC,串口调试助手(可从网上下载) ...//DM430-L型最小系统板串口测试程序,使用单片机的串口0 //使用板载BSL模块或者用户外接串口线到DB9,要求是直连公对母串口...
  • ARM裸机程序串口控制定时器

    千次阅读 2014-03-23 12:06:02
    下面这个程序实现功功能:用串口控制LED闪烁。当输入字母时候闪烁关闭,输入数字的时候闪烁开启。硬件上用的是mini2440。本来想加上PWM来的,但是效果不明显。小伙伴们可以自己再改改。  mian.c   #include ...
  • 在很多应用程序中都需要用到pc机与外部设备如:嵌入式系统、传感器、开关设备等进行数据通讯。其中,最常用的接口就是RS-232串口和并口。...下面是我在开发一个叫号功能模块时通过串口通信来控制LED显示的
  • TX522与STM32串口通信(控制LED灯亮灭) ...这篇文章将通过一个串口通信的小程序,使STM32读取TX522发送过来的卡号控制LED灯亮灭。 TX522相关资料 mifare卡读写模块TX522B应用指南_V1.06 这是TX522的模块资料

空空如也

空空如也

1 2 3 4 5 ... 16
收藏数 311
精华内容 124
关键字:

串口控制led程序