我正在USART
上使用异步STM32L4R5
与PC通信。我可以在PC端接收数据,但不能在PC发送的核板上接收任何数据。以下是我用于传输的代码
while (1)
{
HAL_GPIO_TogglePin(LD2_GPIO_Port,LD2_Pin); //Toggle LED
HAL_Delay(1000);
for(i = 0; i < 5; i++)
{
USART1->TDR = p[i];
while((USART1->ISR & 0x40) == 0);
}
while ((USART1->ISR & 0x20) == 0);
uint32_t receivedByte = (uint32_t)(USART1->RDR);
}
在上述发送部分工作正常,但接收无效。我已经检查过并且接线正确。
答案 0 :(得分:-1)
您为什么不仅使用USART接收中断,它将帮助您捕获接收到的数据。而不是轮询USART接收。 没有回应的原因有两个
我建议使用USART中断,因为在编写代码时轮询不是一个好方法。