计步器优化

来源:互联网 发布:数据库安全性认识 编辑:程序博客网 时间:2024/06/01 17:29

手段:将while()函数中的内容移植到定时器中断函数中(注意:定时器中断的时间不能太长)

产生的问题:OLED屏上的字符闪烁,示数不发生改变(一直为0)

问题的原因(可能):

屏闪:1.  定时器的中断时间太长;

      2.  定时器中断之后不就就重新初始化了;

示数不变(恒为0):

1.     在数据接收的时候未能正常接收到;

2.     定时器中断后不久,就初始化了,还未发生改变再次变为0;

测试所得

串口不能够接受,发送了。

    是否执行到定时器3中?

      (在主函数中进行点亮LED1,在定时器中断中关闭LED1,结果灯未熄灭)

    没有执行到定时器3的中断函数;

 是否是由于主函数执行结束,而导致定时中断函数停止工作;(正解)

循环体中是否使用其他东西?

循环体中最好是空白,当循环体中出现显示“健康计步器”这几个字的代码使,会在程序运行时造成这几个字在屏上乱显,出现在了步数之后,并闪烁

当循环体空白是,出现过一次bug,就是健康计步器那几个字与步数互换位置,且颜色都为蓝色。