中断程序如下
void USART1_IRQHandler(void)
{
if(USART_GetITStatus(USART1,USART_IT_RXNE)!=RESET)
{
chars=USART_ReceiveData(USART1);
aa[count++]=chars;
USART_SendData(USART1, aa[1]);
if(count>7)
count=0;
b=0;
}
if(USART_GetITStatus(USART1,USART_IT_TXE)!=RESET)
{
USART_ITConfig(USART1,USART_IT_TXE,DISABLE);
}
}
字“啊”编码为B0A1 chars返回的完全正确 aa【1】返回的是 00 a1 a0 a0 a0 a0 a0 a0 a0 a1 a1是正确的 中间却变成了a0 初步判断是a0&b0 导致结果不正确 为什么会出现这个问题? |