具体如下:6个任务
1、任务1控制闪烁3个指示灯
2、任务2控制闪烁2个指示灯
3、任务3 采集2路DI,然后发送消息给MODBUS任务
4、任务4 采集2路DI,然后发送消息给MODBUS任务
5、任务5 每隔1秒读取一次SD2405时钟芯片的时间,然后发送消息给MODBUS任务
6、串口中断服务程序接收到一帧完整的报文后给MODBUS任务发送消息
7、任务6 MODBUS任务,收到上位机的请求命令后,将任务3的2路DI,任务4的2路DI,任务5的SD2405时钟芯片的时间发送给上位机。
消息队列规划:
MSG[0] = 1 ---> 表示接收到上位机的请求命令
MSG[0] = 2 ---> 表示接收到任务5的的SD2405时钟芯片的时间
MSG[1] = 年
MSG[2] = 月
MSG[3] = 日
MSG[4] = 时
MSG[5] = 分
MSG[6] = 秒
MSG[7] = 星期
MSG[0] = 3 --->表示接收到任务3 采集2路DI
MSG[1] = 第1路DI
MSG[2] = 第2路DI
MSG[0] = 4 --->表示接收到任务4 采集2路DI
MSG[1] = 第1路DI
MSG[2] = 第2路DI
1