在串口中断函数中:
void USART1_IRQHandler(void)
{
uint8_t ch;
if(USART_GetFlagStatus(USART1,USART_FLAG_RXNE) == SET)
{
ch = USART_ReceiveData(USART1);
printf("%c",ch);
}
}
其中ch是unsigned char类型的变量,而库函数USART_ReceiveData(USART1)的返回值是unsigned int类型,其返回值能直接赋值给ch吗?16位传送给8位不会发生数据丢失吗? |