运行在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