一、定义寄存器
定义全局变量unsigend num
在子程序里面改变num值,同时在中断里面也改变num值,最后得到意向不到的值,容易出错
若要这样改变 则定义变量前面加volatile unsigend num
二、中断调用
主程序调用子程序,同时中断函数里面也调用该子程序,这样容易出错
建议:中断里面不要调用子程序,
若要调用子程序则,则该子程序为唯一被中断调用。
三、程序开头没加延时
开始的时候没加延时,很危险,上电电源电压波动较大,若一上电单片机就执行重要的命令的话,就容易出问题
特别是对内部eeprom的读写,读取数据出错,导致意向不到的后果。读写数据都需要比较稳定的电压。
亲,上电延时个10毫秒,等到电压稳定后,再执行命令,不会影响正常工作,又有保障不是更好
四、竞争与冒险
检测需加多次判断,以防干扰。
多次判断需要浪费一点时间,这个时间是在允许的范围内。