为什么我用STM32进行串口通信时,但加入域宽时,发送汉字回显会出现乱码,而不加域宽时,回显正常?
加域宽的:
void USART1_IRQHandler(void)
{
uint8_t ch;
if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)
{
ch = USART_ReceiveData(USART1);
printf( "%2c", ch );
}
}
不加域宽:
void USART1_IRQHandler(void)
{
uint8_t ch;
if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)
{
ch = USART_ReceiveData(USART1);
printf( "%c", ch );
}
}
还有汉字不是占两个字节吗?为什么定义的变量 ch 是一个字节的,也可以正常运行显示汉字? |