把裸机里的每个功能分别单独写成一个任务。没一个功能写任务的时候,都假设CPU是自己独占的。任务间同步或者通讯,使用信号量、邮箱等。
举个简单的例子:按键控制LED亮灭。
任务1:LED任务等待信号量A,接收到信号量才执行LED反转
任务2:始终扫描按键,如果检测到按键则向任务1发送信号量A
每个任务都是死循环。
代码的功能要分块,而且要独立。每个任务的优先级要把握好,这才是最主要的
还有任务之间的通信。
应该先把需要实现的功能列出来,按照功能区分任务。
优先级:要求实时性搞得任务,优先级设置高一点。
信号量:共同访问同一数据或者内存的任务加入信号量保护。