初级会员

- 积分
- 118
- 金钱
- 118
- 注册时间
- 2017-4-29
- 在线时间
- 23 小时
|
1金钱
使用阿波罗767开发板,学习老师的串口中断接收视频第35讲时,完全按照老师的程序没有问题:如用电脑端串口程序发送“1234”,那么767返回“1234”给电脑端串口。正确。
但自己在回调函数中仅仅多复制了一行发送程序后,还是发送“1234”,期望得到的反馈是“11223344”,结果发现得到的不对,有时是“112244”,也有“112233”,无法得到期望的“11223344”,无法理解。
如果发送长一点的字符串,如“12345678”,这个问题更加明显。不知各位大侠有没有试过/碰到这个问题
程序改动如下:
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
uint8_t rec;
if(huart->Instance==USART1)
{
rec=*((huart->pRxBuffPtr)-1);
HAL_UART_Transmit(huart,&rec,1,1000);
HAL_UART_Transmit(huart,&rec,1,1000); //此行复制了上一行发送程序
}
}
|
|