例1-外置STM32处理器数据收发

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