0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用串口控制LED灯亮灭

lhz13146887 来源:MCU杂谈 作者:MCU杂谈 2022-10-11 11:45 次阅读

我们知道串口通信可以让单片机电脑进行数据交换。那么是否可以用串口来控制LED灯亮灭呢?当然是可以的。首先需要保证串口能正常通信,然后是连接LED灯的IO口要初始化完成。如图分别为串口初始化和LED灯初始化

d5f7cb60-4914-11ed-a3b6-dac502259ad0.png

d69d1f02-4914-11ed-a3b6-dac502259ad0.png

本文是建立在读者已经搭建好串口控制LED灯代码的基础上,列举一些可能犯的错误。

1接收到了字符,但是无法控制LED灯亮灭。如图

d6bc4a94-4914-11ed-a3b6-dac502259ad0.png

我们知道我们发给单片机的是字符,因此单片机在接收到的也是字符,因此在控制语句中我们要用字符,比如’0‘,而不是0.如图switch语句

d6ee2c30-4914-11ed-a3b6-dac502259ad0.png

此处需要将case0改为case’0‘就可以了

2可以控制led亮灭,但是偶尔能收到字符,不能一直收到字符。如图

d70c6218-4914-11ed-a3b6-dac502259ad0.png

在发送多次字符0之后,只有两次接收到了字符0,很多次都没有接收到。这里的问题是串口中断。如果读者是跟着野火的教程做的就会明白这个问题,刚开始是用串口通信,因此开了串口中断,而我们的led灯实验不需要串口中断,如果有中断的话,我们每次发送一个数据就会进入中断里面,因此把串口中断关闭就可以解决这个问题。如图

d7315ec4-4914-11ed-a3b6-dac502259ad0.png

注释掉usart_itconfig()这个函数,即关闭串口中断。再试一试

d74e3314-4914-11ed-a3b6-dac502259ad0.png

解决了,每次发送都能接收到了。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • led
    led
    +关注

    关注

    237

    文章

    22441

    浏览量

    645831
  • 单片机
    +关注

    关注

    5998

    文章

    43956

    浏览量

    620675
  • STM32
    +关注

    关注

    2239

    文章

    10668

    浏览量

    348677
  • 串口
    +关注

    关注

    14

    文章

    1483

    浏览量

    74492

原文标题:stm32串口通信控制LED灯亮灭所遇到的问题

文章出处:【微信号:MCU杂谈,微信公众号:MCU杂谈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    ubuntu下编程——杰发科技AC7802x串口控制LED

    串口命令控制AC7802x开发板上的LED
    的头像 发表于 06-04 16:46 2221次阅读
    ubuntu下编程——杰发科技AC7802x<b class='flag-5'>串口</b><b class='flag-5'>控制</b><b class='flag-5'>LED</b>灯

    开关控制led

    各位大侠,求助,我是新手,关于一个开关控制led的问题,就是我按一下开关,第一个led
    发表于 08-04 08:54

    gpio是如何去控制led

    gpio是如何去控制led?如何去编写其主要代码程序?
    发表于 08-04 06:28

    请教大神STM32的串口是如何去控制LED

    请教大神STM32的串口是如何去控制LED的?
    发表于 12-07 06:10

    linux控制LED的方法

    对应nLED_1,nLED_2,nLED_4,所以代码里面操作GPF4-GPF6就可以控制LED。2、写代码前了解事项...
    发表于 12-16 06:12

    STM32CubeMXKEIL5的相关资料分享

    硬件平台:正点原子STM32MINI开发板(STM32RCT6)软件平台:STM32CubeMXKEIL5实现功能:串口控制LED
    发表于 02-21 07:38

    STM32F103ZET6是怎样用串口控制LED

    STM32F103ZET6 用串口控制LED1.串口
    发表于 02-22 08:22

    基于GD32F427R板UART1串口控制LED

    仿真设置断点,发现电脑端串口发送0xFF的时候,MCU收到的是0X66,然后仔细想了一下,应该是串口调试助手发送的数据不是以十六进制数发送的,然后在串口助手上勾选以十六进制数发送数据后,就能正常通过
    发表于 02-02 16:33

    串口控制LED灯电路图

    串口控制LED灯电路图
    发表于 11-13 09:04 5316次阅读

    串口控制LED

    发表于 06-06 10:36 8次下载

    单片机:电脑通过串口控制LED

    题目概述:电脑通过串口控制LED灯。编程:#include<REG52.h>void delay(unsigned int xms){unsigned int
    发表于 11-23 16:20 0次下载
    单片机:电脑通过<b class='flag-5'>串口</b><b class='flag-5'>控制</b><b class='flag-5'>LED</b>灯

    STM32通过串口控制LED闪烁或者呼吸效果

    STM32通过串口控制LED闪烁或者呼吸效果目录STM32通过串口控制LED闪烁或者呼吸效果1、
    发表于 12-24 19:41 7次下载
    STM32通过<b class='flag-5'>串口</b><b class='flag-5'>控制</b><b class='flag-5'>LED</b>闪烁或者呼吸效果

    串口通信实验(通过串口控制LED、蜂鸣器)

    需要添加的固件库文件有 stm32f4xx_gpio.c、stm32f4xx_rcc.c、 misc.c、 stm32f4xx_usart.c 四个。串口时钟和 GPIO 时钟使能。串口3是挂载
    发表于 12-28 19:04 2次下载
    <b class='flag-5'>串口</b>通信实验(通过<b class='flag-5'>串口</b><b class='flag-5'>控制</b><b class='flag-5'>LED</b>、蜂鸣器)

    基于STC15W204s按键/串口控制LED灯设计

    功能1串口串口检测到0x7F点亮 LED检测到0x310xCE0x1F0xFF熄灭LED 功能2按键: 单击:LED熄灭
    发表于 12-02 16:20 9次下载

    树莓派串口控制LED灯(继电器)

    一、认知WiringPi库(借鉴:树莓派wiringPi库详解) ①:函数解释 ②:串口解除 ③:重启sudo reboot 二、树莓派与继电器硬件连接原理图(以GPIO25引脚连接为例) 三、软件代码 一、认知WiringPi库(借鉴:树莓派wiringPi库详解) ①:函数解释
    发表于 04-28 11:57 1次下载
    树莓派<b class='flag-5'>串口</b><b class='flag-5'>控制</b><b class='flag-5'>LED</b>灯(继电器)