文章目录
功能实现背景介绍
HAL库的中断接收函数
状态机的运用
功能实现背景介绍
本项目中,需要使用STM32的USART6串口与FPGA板(下位机)通信,需要发送和接收数据,有报文应答机制。
使用的报文规则如表格所示
板间报文的通信协议,校验使用的是和校验
U8 TX_CheckSum(U8 *buf, U8 len) //buf为数组,len为数组长度
{
U8 i, ret = 0;
for(i=0; i<len; i++)
{
ret += *(buf++);
}
ret = ~ret;
return ret;
}
U8 RX_CheckSum(U8 *buf, U8 len) //buf为数组,len为数组长度
{
U8 i, ret = 0;
for(i=0; i<len; i++)
{
ret += *(buf&