STM32F407调试错误之:串口收发

WIFI模块与主芯片通过串口进行数据交换,在串口接收中断中将接收到的数据发给调试串口1,

同时用一个全局变量将接收到的数据传递给主程序,在主程序中根据这个全局变量的值不同,点亮或熄灭LED灯。

问题:

if(res=='a')  LED=0;   //亮

if(res==2)LED=1; //灭

调试现象:发 a ,灯亮;  发 2 ,灯不灭????

错误原因: 调试的时候,'a'是字符类型,2是整型数据!!! 网络调试助手里设置发送的默认是字符型,因此发 a 程序执行亮灯。 发 2  其实是发的'2',即2的ASCII码,不是程序中的数字2,因此判断条件不成立,灯不灭!!!

备注: 程序中经常出现字符与数字类型混乱的问题,这个细节要注意啊!!!!

版权声明:本文为CSDN博主「芯片设计之路」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/gogoisme/article/details/121915260

生成海报
点赞 0

芯片设计之路

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

52基础知识

sbit:定义特殊功能寄存器的位变量 如:sbit LED1 = P1^0; 宏定义和 typedef 的区别 1、宏定义的新名字在左边,typedef 的新名字在右边 2、宏定义不需要分号,typedef 后面必须加分号 3、宏定义任何名字

川土微电子8通道隔离式数字输入接收器

产品概述 CA-IS398X系列器件提供8通道隔离式数字输入,非常适合工业应用中常用的24V数字逻辑。这些通道可以吸收电流或者提供电流,并具有集成的安全额定隔离度。结合一些外部器件,CA-IS398X

7_时钟体系

第七章 时钟体系 ​ 时钟信号是数字时序电路的“脉搏”,电路每接收到一个周期的时钟信号,就做一个相应的动作。因此,在允许的范围内,时钟信号的快慢直接决定着电路性能的好坏。在片上系统&#x

usb NRZI

usb的编码方式NRZI RZ归零编码 正电平代表逻辑1,负电平代表逻辑0。每传完一次数据,信号回到零电平。 在归零后重新采样,不需要单独的时钟信号,称自同步信号。 NRZ不归零编