当前位置: 代码迷 >> 单片机 >> LED点阵中断显示的有关问题
  详细解决方案

LED点阵中断显示的有关问题

热度:42   发布时间:2016-04-28 16:09:53.0
LED点阵中断显示的问题!
平时LED点阵显示固定的内容,当串口中断接收到数据后,立即中断原来的显示,立即显示接收到的内容。
我是在串口中断接收到数据后置一个标志位,在点阵显示函数中检查标志位,检测到后立即跳出固定内容的显示(用return语句返回主函数),主函数中检测到标志位后立即显示中断接收到的内容,这样是没问题,但是在中断显示的一瞬间,LED点阵显示屏在退出上一次的内容时会出现很亮的一瞬间,这是不是用return语句的原因啊?或者是我这种立即显示中断内容的方法不对啊?
  麻烦各位给点意见或建议。。。谢谢!

------解决方案--------------------
具体为神马要看你程序结构流程,但这样确实不是很好。一套健壮的代码应该把显示与通讯分开,一个前台一个后台异步运行,合理缓冲,互不阻塞。前台要显示就反复在那里循环显示,显示的数据源放在一个缓冲区里,后台要更新显示内容就修改缓冲区里的数据,不要去干预前台显示代码的总体流程。怕闪烁就在数据更新的时候做个同步,或者双缓冲等等。
------解决方案--------------------
同意楼上的说法 楼主采用这种做法估计是担心过多的调用显示函数会浪费单片机时间 如果是这样的话 楼主可以采用定时调用的做法(具体时间可根据实际情况定) 定时器只置调用的标志 函数放在主循环中
------解决方案--------------------
return 前关闭显示
  相关解决方案