我在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);
}
在上面的发送部分工作正常,但接收不起作用。我检查过,接线是否合适。
为什么不使用USART接收中断它将帮助您捕获接收的数据。而不是轮询USART接待。有两个原因没有回应
我建议使用USART中断,因为在编写代码时轮询不是一个好方法。