野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1887|回复: 4

关于霸道v2的串口通信里面的bug

[复制链接]
发表于 2023-7-22 11:50:23 | 显示全部楼层 |阅读模式
是初学者,很多东西了解的不够透彻,这个问题困扰了我很久没有解决。
火哥在串口通信里面有一个通过串口通信发送指令来控制RGB灯的例程。我只能说实现了一半,能够控制,但是BUG缺陷很明显。

就是调试时串口会默认一直发空信号,接收也会快速接收,发送数字“1“”2“”3"也能正常让灯亮起。但是要怎么做才能不让它一直发送呢,串口调试很容易卡住。详情可以看图片。
我知道是while(1)的问题,我想知道这个while(1)要怎么修改才能达到我输入一次它只发送和接收一次的效果。

串口调试

串口调试

main代码块

main代码块
回复

使用道具 举报

 楼主| 发表于 2023-7-22 11:51:36 | 显示全部楼层
串口调试截图里,接收速度很快,明明之发送了几次,却接收了几万次
回复 支持 反对

使用道具 举报

发表于 2023-7-24 10:00:57 | 显示全部楼层
getchar函数有问题吧,不是阻塞式的吧,不过实际项目中基本上不会有阻塞式的接收,想想换一种方式接收吧
回复 支持 反对

使用道具 举报

发表于 2023-7-26 13:18:49 来自手机 | 显示全部楼层
可以将getchar和printf放到中断里面去
回复 支持 反对

使用道具 举报

发表于 2023-7-29 11:16:49 | 显示全部楼层
有没有使用给出的程序来试试,就这样看,理应是发送一次打印一次的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-22 20:50 , Processed in 0.062531 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表