手段:将while()函数中的内容移植到定时器中断函数中(注意:定时器中断的时间不能太长)
产生的问题:OLED屏上的字符闪烁,示数不发生改变(一直为0)
问题的原因(可能):
屏闪:1. 定时器的中断时间太长;
2. 定时器中断之后不就就重新初始化了;
示数不变(恒为0):
1. 在数据接收的时候未能正常接收到;
2. 定时器中断后不久,就初始化了,还未发生改变再次变为0;
测试所得
串口不能够接受,发送了。
是否执行到定时器3中?
(在主函数中进行点亮LED1,在定时器中断中关闭LED1,结果灯未熄灭)
没有执行到定时器3的中断函数;
是否是由于主函数执行结束,而导致定时中断函数停止工作;(正解)
循环体中是否使用其他东西?
循环体中最好是空白,当循环体中出现显示“健康计步器”这几个字的代码使,会在程序运行时造成这几个字在屏上乱显,出现在了步数之后,并闪烁
当循环体空白是,出现过一次bug,就是健康计步器那几个字与步数互换位置,且颜色都为蓝色。