底层软件里面前后台系统的一般架构....
比如有这么个小东西,带按键扫描,LED,SPI LCD,串口通信,各种资源初始化好后进入
for(;;)
{
//1
//2
//3
//4
//...
//...
//Sleep();
}
1,2,3,4等做按键扫描,LCD显示,串口通信等等....Sleep()时间长短视1,2,3,4耗时长短动态调节(靠一个系统时基节拍,比如16.7ms,),不知道这种架构是不是最合理最节能,各位大牛们是怎么在单片机系统中用"架构"这么个高深的词语的,,,,,
[解决办法]
可以进行中断处理吗?这样扫描,有可能丢数据 对于一些适时信息
[解决办法]
中断处理还是比较好一些, 扫描处理,可控性适时性不强,如果真有个数据突发集中处理的,可能无能为力,或者有严重延时和不确定性。
中断处理可以及时处理,但要注意保护和其他数据的冲突。
一个好的系统,往往根据不同任务需要,多种方式结合起来。中断处理叫适时的,查询处理可延时的。。。
[解决办法]
这仅是一般主函数中的循环的结构;在做1~4或其它时,还会有一些判断,执行不执行的条件可以由中断来改变。
架构的内容包含更多,涉及到调度,进程、线程的控制,相互关系的处理等等。架构方面的知识,可以看点操作系统方面的书。
[解决办法]
按键 和 通讯 用中断比较好