STM32 C语言编程易错问题总结

(1)注意数组越界问题;有时候前面定义一个数组,在后面使用时候,对数组越界赋值或者操作;
(2)错误的条件判断方式;If(0 < data < 100);//这是错误的写法
应该改成if(0<data && data < 100);
(3)Switch语句使用:switch和case中间的代码是不会被执行的;
在这里插入图片描述
(4)在定时器中断服务函数中,定义的变量,一定要修改成全局,否则这个变量会一直被重新定义。这里可以使用static,把函数中的局部变量修改成全局变量。
易错分析,在中断服务函数内部很里面定义一个局部变量,就会出现这个错误;
不仅仅是定时器中断服务函数,其他中断服务函数也是一样的道理;
在这里插入图片描述
对比:
加粗样式
(5)函数里面定义的局部变量,一般要赋初始值,否则初始值有可能不是0;

发布了97 篇原创文章 · 获赞 135 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/weixin_37787043/article/details/84386520