各位好:
最近在研究MCU與感測器結合應用,使用UART進行資料接收,但發現接收端好像來不急接收感測器端吐出來的資料,目前設定的情況是我使用Uart中斷接收的方式,buadrate設定為115200,感測器由0開始計數,但接收端的部份中間固定有幾比資料會遺失,請問能否協助解答?
UART DataBuff[0] = 0x2
UART DataBuff[0] = 0x5
UART DataBuff[0] = 0x8
UART DataBuff[0] = 0x11
UART DataBuff[0] = 0x14
UART DataBuff[0] = 0x17
UART DataBuff[0] = 0x20
UART DataBuff[0] = 0x23
- void HAL_UART_RxCpltCallback(UART_HandleTypeDef*UartHandle)
- {
- RxLine++;
- DataBuff[RxLine-1]=RxBuff[0];
- if(DataBuff[RxLine-1]==0xff && DataBuff[RxLine-2]==0xff && DataBuff[RxLine-3]==0xff && DataBuff[RxLine-4]==0xff)
- {
- if(RxLine == 8)
- {
- printf("RXLen=%d\r\n",RxLine);
- for(int i=0;i<RxLine;i++)
- {
- printf("UART DataBuff[%d] = 0x%d\r\n",i,DataBuff);
- }
- memset(DataBuff,0,sizeof(DataBuff));
- RxLine=0;
- }
- else if(RxLine > 8)
- {
- memset(DataBuff,0,sizeof(DataBuff));
- RxLine=0;
- }
- }
- RxBuff[0]=0;
- HAL_UART_Receive_IT(&huart2, (uint8_t *)RxBuff, 1);
- }
复制代码
|