请教:串口通信例程中的发送16位数的函数为什么不对呀?
void Usart_SendHalfWord( USART_TypeDef * pUSARTx, uint16_t ch)
{
uint16_t temp_h, temp_l;
temp_h = (ch&0XFF00)>>8;
temp_l = ch&0XFF;
USART_SendData(pUSARTx,temp_h);
while (USART_GetFlagStatus(pUSARTx, USART_FLAG_TXE) == RESET);
USART_SendData(pUSARTx,temp_l);
while (USART_GetFlagStatus(pUSARTx, USART_FLAG_TXE) == RESET);
}
串口助手接收到的都是字符,而不是数?
单步执行发现,temp_h,temp_l的数据是对的,不知道为什么串口助手接收的就不对了。 |