按照ISO的程序,再中断里面
void USART1_IRQHandler(void)
{
uint32_t ch;
if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)
{
ch = USART_ReceiveData(USART1);
ch= (ch - 0x30);
Refresh = ch;
printf( "%dS", ch ); //将接受到的数据直接返回打印
LCD_DisNum(200, 20,Refresh, BLUE);
t=1;
// USART_ClearITPendingBit (USART1, USART_IT_RXNE);
}
}
为什么返回到串口调试助手的数据是:假如输入23,串口助手显示2S3S。
加上 USART_ClearITPendingBit (USART1, USART_IT_RXNE); 还是输入23,串口助手显示2S。
是什么问题? |