本帖最后由 飛饵 于 2020-6-7 02:38 编辑
之前裸机上的一个小工程,大概框架是有3个软件模块:
1、一个负责OLED屏显示的UI模块
2、一个负责按键扫描和键值处理模块
3、一个负责控制外部设备的模块
4、还有一些小的模块比如RTC时间获取,led灯之类的。
在裸机上的流程大概是定时器中断内运行模块2和RTC时间获取,其他的都在main中循环。所有模块都靠全局变量通信,特别是模块1和2之间几乎所有变量都飞来飞去。
现在移植过来只是把模块单独丢进各个线程里让他们并行处理,什么信号量邮箱都没用到,感觉好不规范。
而且那些小模块不太懂怎么安排,比如RTC时间获取,是给一个线程单独运行还是和UI或者按键扫描一起好??
|