新手入门
- 积分
- 18
- 金钱
- 18
- 注册时间
- 2019-7-7
- 在线时间
- 5 小时
|

楼主 |
发表于 2019-8-2 08:21:09
|
显示全部楼层
原子哥,我这边数据接收底层驱动用得是接收中断函数,因为我看了写硬件的那个人这么设置的,其他接收函数都没有,所以只能用这个HAL_UART_RxCpltCallback函数,我根据他的功能就是仅仅再主函数main中添加仅仅添加了这个句:了HAL_UART_RxCpltCallback(&huart2);然后再测试的过程中就出现这样的情况。
底层的驱动函数是这么设置的:
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
if(huart->Instance == USART1)
{
{
Uart1Receive.uartDMA_rxbuf[Uart1Receive.rx_len] = Uart1RxBuf;
Uart1Receive.receive_flag = 1;
Uart1Receive.rx_len++;
HAL_UART_Receive_IT(&huart1, &Uart1RxBuf, 1);
}
}
else if(huart->Instance == USART2)
{
{
Uart2Receive.uartDMA_rxbuf[Uart2Receive.rx_len] = Uart2RxBuf;
Uart2Receive.receive_flag = 1;
Uart2Receive.rx_len++;
HAL_UART_Receive_IT(&huart2, &Uart2RxBuf, 1);
}
}
求原子哥指点一下 |
|