当前位置: 代码迷 >> 单片机 >> 问一个系统级的东西,该如何解决
  详细解决方案

问一个系统级的东西,该如何解决

热度:106   发布时间:2016-04-28 15:07:13.0
问一个系统级的东西
标题说系统级,是一个小系统,三个主任务,扫描按键->接收传感器的数据->LED显示数据,如此循环;现在卡在LED上,假如我要做个慢节奏闪烁的效果,假设闪烁时间间隔为1秒,我现在的代码是必须运行完LED的显示效果才能进行下一次循环,这样就会耽误了整个系统的扫描时间。

我想到一个方法:三个任务作为数组成员,给他们分配20ms的任务执行时间,如果当前任务执行时间用完,保存当前任务运行的地址(类似调试时的一个断点),跳到下一个任务,如果断点的记录,就从断点的地址开始运行,如此循环。

但这个断点地址如何获取?需要用一个什么类型的指针保存?
------解决方案--------------------
你想自己写个小OS出来?

直接用现成的OS就可以了,比如UCOS,或者RTX
------解决方案--------------------
这种问题一个 while(1) 足以,LED显示放主循环,亮灭在定时器中控制 
  相关解决方案