CH32V103 串口如何发送9位数据的格式

最近需要用到 9位数据的发送格式   1个起始位 + 9数据位 +1停止位;共11位  我看库文件的格式都是按照9位处理的;


那8位 9位的使用区别在哪?

/*********************************************************************

 * @fn      USART_SendData

 *

 * @brief   Transmits single data through the USARTx peripheral.

 *

 * @param   USARTx - where x can be 1, 2, 3 to select the USART peripheral.

 *          Data - the data to transmit.

 *

 * @return  none

 */

void USART_SendData(USART_TypeDef *USARTx, uint16_t Data)

{

    USARTx->DATAR = (Data & (uint16_t)0x01FF);

}

/*********************************************************************

 * @fn      USART_ReceiveData

 *

 * @brief   Returns the most recent received data by the USARTx peripheral.

 *

 * @param   USARTx - where x can be 1, 2, 3 to select the USART peripheral.

 *

 * @return  The received data.

 */

uint16_t USART_ReceiveData(USART_TypeDef *USARTx)

{

    return (uint16_t)(USARTx->DATAR & (uint16_t)0x01FF);

}


您好,若要发送9位数据的格式,在进行串口初始化配置的时候,需要配置串口控制寄存器1的字长位为9个数据位。


只有登录才能回复,可以选择微信账号登录