单片机编程经验总结

1 低电平触发可能碰到这种状况,即终端执行后低电平依然存在,这个时候就需要在单片机的中断程序中检测低电平是否撤销,如果没有撤销,则在中断程序中进行等待,一般而言可以将低电平触发改为下降沿触发。


2 千万不要在中断程序里面写延时,这是大忌!!!


3 中断定时的定时时间不要太短,如果太短会造成单片机不断地进中断而无法正常工作,通常定时时间可以选择1-2ms


4 在AD转换中可以用整形数来代替浮点数


5 在AD转换中,读I/O的电平不如捕获的速度快,所以捕获常用在对时间要求比较高的地方


6 中断程序的执行时间一定要小于定时器的定时时间


7 判断temp的最高位是不是1

写法

     

if(temp & 0x80)
    即可

      

if((temp&0x80) == 1)

    是错误的!!!


8 写程序之前不要着急打开电脑就乱写一通,要想好每一个部分是怎么工作的,每一个部分之间又是怎么相互联系的,我的一个老师曾经说过,当接到一个项目的时候,项目的设计时间应该占到整个项目完成时间的1/3


9 写好一部分代码后要记得测试,举个简单的例子,当你写好一个外设之后,不要感觉他现在可以安全工作就万事大吉了,要让程序多跑一会,观察程序是否确实稳定可靠。


10 选择计数型变量时,一定要考虑该变量的范围,比如最简单的,当单片机2ms产生一次中断,要定时2分钟,2000ms/2ms=1000,这个时候就不能使用unsigned char类型,因为会导致unsigned char类型的变量溢出。同时不能忽视,uint8_t类型在stm32中的实现也是unsigned char类型

单片机编程经验总结_第1张图片




你可能感兴趣的:(STM32,单片机)