STA8090程序架构框图
2017-12-15 21:44:18 7 举报
为你推荐
查看更多
STA8090程序框架
作者其他创作
大纲/内容
xQueueReceive()
GNSS task
需要UART发送的任务 将数据封装
本任务其他处理
其他任务 QueueSend
GNSS taskQueueSend
xTaskCreate(task1_func ... ...)xTaskCreate(task2_func ... ...)xTaskCreate(task3_func ... ...)xTaskCreate(task4_func ... ...)xTaskCreate(task5_func ... ...)xTaskCreate(task6_func ... ...)vTaskStartScheduler()
other QueueSend
UART ISR
typedef struct _OTA_TASK_DATA{\tBYTE messageNumber[5]; //消息流水号 BYTE ackFlag;\tBYTE sid; \t\t//服务ID\tBYTE mid; \t\t//消息ID\tUINT parameter_len; \t\t//数据长度\tBYTE parameter[SERVICEDATA_LEN]; \t//数据DATA\t\t\t}OTA_TASK_DATA;
驱动层发送处理:循环调用底层uart发送函数,直到字节流发送完毕
驱动层解析处理:将OTA_TASK_DATA结构 --- 转换成字节流 messagehead + messagebody + verifycode
STA8090程序架构框图
OS任务调度循环
xQueueSendToBack(目标task)
GNSS数据解析处理UartSend
ISM task
接收的EC20数据解析判断该由谁处理xQueueSend
CAN数据解析处理UartSend
RTC ISR
... ...
main()
COMM task
ISR
RTC task
UART发送流程:
CAN task QueueSend
xQueueCreate()
init task
调用统一的发送接口函数:将数据传入驱动层处理
task 相关处理代码
CAN task
接收CAN数据处理xQueueSend(目标task)
AM/FM ctrl task
要发送的CAN指令调底层CAN驱动
其他消息做相关处理
CAN ISR
收藏
0 条评论
回复 删除
下一页