LED点阵中断显示的问题!

Dreamer_LX灵 2012-01-10 12:01:29
平时LED点阵显示固定的内容,当串口中断接收到数据后,立即中断原来的显示,立即显示接收到的内容。
我是在串口中断接收到数据后置一个标志位,在点阵显示函数中检查标志位,检测到后立即跳出固定内容的显示(用return语句返回主函数),主函数中检测到标志位后立即显示中断接收到的内容,这样是没问题,但是在中断显示的一瞬间,LED点阵显示屏在退出上一次的内容时会出现很亮的一瞬间,这是不是用return语句的原因啊?或者是我这种立即显示中断内容的方法不对啊?
麻烦各位给点意见或建议。。。谢谢!
...全文
148 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dreamer_LX灵 2012-01-10
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 forch 的回复:]
return 前关闭显示
[/Quote]

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

27,382

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧