数据传输过程的纠结在于在测试stm32时protues的接收出现了问题,多数据传输格式出现了错误。本来以为是程序出现了错误,后来研究了一天,所以的可能都试了,但还是不能接收多数据,但数据接收可以正常运行。
现有一种数据流的方式来改变这种状态。`///取出数据并检查数据准确性
void UART_Task(void)
{
static uint8_t uartDataBuf = 0;
if(RingBuf_U8_Read(&RxUartBuffer,&uartDataBuf)!=0 && gUartStatus.TXComplete == true) //从队列中取出一个数据(必须等待数据发送完成)
{
switch(gUartStatus.RXStatus)
{
case 0: // 检查是否是A5起始符
if(uartDataBuf == 0xa5)
{
memset(gUartStatus.UART_RX_Buffer,0x00,sizeof(gUartStatus.UART_RX_Buffer));//清空数组
gUartStatus.RXStatus = 0x01;
// 初始化接收设备端信息进程
gUartStatus.RXSp = 0x00;
gUartStatus.UART_RX_Buffer[gUartStatus.RXSp] = uartDataBuf;
gUartStatus.RXSum = gUartStatus.UART_RX_Buffer[gUartStatus.RXSp];
}
break;
case 1:
gUartStatus.RXSp++;
gUartSta