ST意法半导体
直播中

陈文博

8年用户 982经验值
擅长:测量仪表
私信 关注
[问答]

如何使用USART1_IRQHandler()接收多字节数据?


我想通过 UART 接收多个字节的数据。数据的大小可以变化。所以我想在 MCU 通过 UART 接收数据时使用 USART1_IRQHandler()。
我能够正确获得中断,但我只能从中断处理程序中获得 1 字节的数据。并且中断处理程序仅被调用 1 次。
可能是什么问题?
下面是我的 ISR 函数。
void USART1_IRQHandler(void) //串口1中断服务程序
{
   u8 资源;
   如果(USART_GetiTStatus(USART1,USART_IT_RXNE)!=重置)
   {
      Res =USART_ReceiveData(USART1); //读取接收到的数据
}
}









回帖(1)

吴晓成

2023-1-30 14:19:51
你会得到每个字节的中断。
如果您正在调试并且程序暂停,您可能会错过一些字节。也许这才是真正的问题。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分