我的中断程序如下:
void USART1_IRQHandler(void)
{
uint8_t INFO_usart1 = 0;
// USART_ITConfig(USART1, USART_IT_TXE, DISABLE); /// 重要
if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)
{
INFO_usart1=USART_ReceiveData(USART1); //从串口1接收1字节数据
// while(USART_GetFlagStatus(USART1,USART_FLAG_RXNE) !=RESET);
GPIO_ResetBits(GPIO_LED,DS2_PIN);
USART_SendData(USART1,INFO_usart1);
while(USART_GetFlagStatus(USART1,USART_FLAG_TC) == RESET );
}
if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)
{ //清除接收中断标志
USART_ClearITPendingBit(USART1,USART_IT_RXNE);
}
}
初始化及配置都没有什么问题,但就是用串口助手每次给arm发送单个字符时,程序能正常工作,但发送多个字符时,输出的个数是对的,但是内容不对,请大神帮忙解答下
下面的代码是我程序里面用的,工作是正常的。。
void USART1_IRQHandler(void)