我能够通过串行方式从PC接收到STM32051板的输入数据字节,但是只要我输入2个或更多字符,每次发送一次中断就会停止,直到我复位板以重复相同的过程...如何更改IRQHandler代码以接收23个字节或字符串的有效载荷?谁能帮助我提供示例代码或修改当前代码,以便我可以接收此有效载荷?谢谢,
这里是IRQHandler函数,只能接收一个字节。
void USART1_IRQHandler(void)
{
unsigned char getbuffer [200], finalbuffer, targetdata[];
if(USART_GetITStatus(USART1, USART_IT_RXNE) )
{
getbuffer [i] = USART_ReceiveData(USART1);
buffer = (getbuffer [i]);
USART_SendData(USART1, buffer);//Feedback
i++;
}
}
您需要为USART清除中断处理程序中的RXNE
中断位。
if(USART_GetITStatus(USART1, USART_IT_RXNE) )
{
__HAL_USART_CLEAR_IT(USART1, USART_IT_RXNE);
…
}