ODR 是一个端口输出数据寄存器,也只用了低 16 位。该寄存器为可读写,从该寄存器读
出来的数据可以用于判断当前 IO 口的输出状态。而向该寄存器写数据,则可以控制某个 IO 口
的输出电平。该寄存器的各位描述如图 6.1.3 所示:
端口输出数据寄存器(GPIOx_ODR)
ODR15 | ODR14 | ODR13 | ODR12 | ODR11 | ODR10 | ODR9 | ODR8 | ODR7 | ODR6 | ODR5 | ODR4 | ODR3 | ODR2 | ODR1 | ODR0 |
位31:16 | 保留,始终读为0。 |
位15:0 | ODRy[15:0]:端口输出数据(y = 0…15) (Port output data) 这些位可读可写并只能以字(16位)的形式操作。 注:对GPIOx_BSRR(x = A…E),可以分别地对各个ODR位进行独立的设置/清除。 |
举个例子:GPIOD->ODR|=1<<2; //PD.2 输出高