stm32串口接受发送函数中定义的数据位uint16_t,但串口只能接受发送8位数据,是不是说stm32串口接受发送函数能处理16位数据??????
void USART_SendData(USART_TypeDef* USARTx, uint16_t Data)
{
/* Check the parameters */
assert_param(IS_USART_ALL_PERIPH(USARTx));
assert_param(IS_USART_DATA(Data));
/* Transmit Data */
USARTx->DR = (Data & (uint16_t)0x01FF);
}
uint16_t USART_ReceiveData(USART_TypeDef* USARTx)
{
/* Check the parameters */
assert_param(IS_USART_ALL_PERIPH(USARTx));
/* Receive Data */
return (uint16_t)(USARTx->DR & (uint16_t)0x01FF);
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
也能接受32位,
但多余部分一律无视了。
也能接受32位是什么意思??,不是没次只能收到8位数据吗??
只有前面9個bit有用
所以u16&0x01FF 取前面9個bit
希望你的问题得到解决
一周热门 更多>