关于寄存器USARTx DR寄存器说法正确的是:( )。A.USARTx_DR是发送寄存器B.USARTx_DR是接收寄存器C.USARTx_DR既是发送,又是接收寄存器
STM32中DR寄存器只有低9位(8:0)有效,其余高位是保留的。所以在进行寄存器赋值时,为了保证正确性和将来的兼容性,只取Data的低9位数据。所以出现了USARTx->DR = (Data & (uint16_t)0x01FF);这样的语句,假设不小心Data高位有值也能保证寄存器正确赋值。