运行在STM32L151C8T6-A处理器的开发板上,,它的程序入口main.c中的main,是一个标准应用程序开发流程,初始化硬件设备,在每个系统心跳,它检查节点模块的状态管脚STA_IND,如果允许接受就发送测量数据,从串口接受数据,完成数据帧的检查,解析数据内容,然后进行处理
int main(void) { msg_t msg; // init hal HAL_Init(); // init clock SystemClock_Config(); // init port port_init(); // init fifo qfifo_init(&msg_fifo, (void*)&msg_buf, sizeof(msg_t), CFG_MSG_FIFO_BUF_NUM); // init data memset(&mt_data, 0, sizeof(mt_data_t)); // init devs serial_init(); // msg loop for(;;){ // wait msg __WFI(); // get msg while(qfifo_get(&msg_fifo, &msg)){ rx_msg(&msg); } } }
完整实现代码参见下面链接
https://gitee.com/tinywsn/fw-stm32l1-serial-usr/tree/master/apps/tinysh