一、开发环境与工具
STM32CubeMX、TrueSTUDIO、J-Flash V6.32f
芯片:STM32L072KBUx
二、使用CubeMx新建工程与配置说明
使用CubeMX通过芯片型号新建工程。需要配置如下内容:
- 配置系统时钟
- 下载程序的SWD口
- 一个定时器(开启中断)
- 一个串口(开启接收中断)
配置过程及详细参数如以下截图所示:
注意:只要能实现同样功能即可,不强制必须使用串口1或定时器7。
三、通信协议构架代码
在单片中需要接收来自上位机的数据,并安装协议规定格式反馈数据。比上位机端简单一些。
把串口接收到的每1byte数据,依次传递给以下这个“协议识别函数”来进行“封包”识别:
void APP_UartProcess(uint8_t uart_data) {
if(IsStartRecvCommand == true) {
UartRxCache[UartRxCacheIndex++] = uart_data;
uint16_t TempCacheLen = UartRxCacheIndex;
if(TempCacheLen > 4 &&
UartRxCache[TempCacheLen - 4] == TAIL[0] &&
UartRxCache[TempCacheLen - 3] == TAIL[1] &&
UartRxCache[TempCacheLen - 2] == TAIL[2] &&
UartRxCache[TempCacheLen - 1] == TAIL[3] &&</