1. GPIOx_MODER寄存器:这个寄存器用于设置GPIO端口的工作模式。每个GPIO引脚可以配置为输入模式(INPUT)或输出模式(OUTPUT)。在输出模式下,还可以选择推挽输出(PUSH-PULL)或开漏输出(OPEN-DRAIN)。2. GPIOx_OTYPER...
1推挽输出模式(GPIO_Mode_Out_PP):该模式下,GPIO 输出状态为高或低电平,并驱动外部负载。输出状态由 GPIO_ODR 寄存器控制。2开漏输出模式(GPIO_Mode_Out_OD):该模式下,GPIO 输出状态为高电平或者悬空(floating)...
这是个映射用的寄存器,映射管脚上的电平状态。比如GPIOA_ODR = 0x03; 就是2进制的11.代表CPU把PA0,PA1置为高电平,PA2 ~PA15都置为低电平。
GPIO->ODR是32位的输出数据寄存器(高16位保留,低16为依次对应某个GPIO口的16个引脚)。对ODR赋值是一次操作16位的,也就是同时设置了16个引脚的输出电平;而GPIO_PIN是指某个端口的具体某一个引脚,是位操作,可以通过...
GPIO的功能描述 每个GPIO端口有两个32位配置寄存器(GPIOx_CRL,GPIOx_CRH),两个32位数据寄存器(GPIOx_IDR和GPIOx_ODR),一个32位置位/复位寄存器(GPIOx_BSRR),一个16位复位寄存器(GPIOx_BRR)和一个32位锁定寄存器(...
该寄存器31-16位始终读为0,15-0位输出数据。GPIO->ODR^=0X02 是输出数据与0x02异或,即输出数据的第二位如果与1相同,该位置0,反之出1,因此实现取反,输出数据保存在ODR,每执行一次输出数据的第二位取反一次。
而控制GPIOx->BSRR和GPIOx->BRR就等于间接控制GPIOx->ODR寄存器,而且手册也说了,BSRR、BRR是只写寄存器,写1有效写0无影响,这是什么意思呢;就是对BSRR和BRR寄存器写1就是对相应的IO口电平操作,写0的话IO口电平不...
端口输出数据寄存器GPIOx_ODR(低16位有效)并行输出16位数据 端口位设置/清除寄存器GPIOx_BSRR:拉高拉低相应引脚,1bit对应1引脚 端口位清除寄存器GPIOx_BRR(低16位有效):拉低相应引脚,同上 端口配置锁存寄存器GPIOx_...
端口输出数据寄存器GPIOx_ODR(低16位有效)并行输出16位数据 端口位设置/清除寄存器GPIOx_BSRR:拉高拉低相应引脚,1bit对应1引脚 端口位清除寄存器GPIOx_BRR(低16位有效):拉低相应引脚,同上 端口配置锁存寄存器GPIOx_...
BSRR写1的位置1,BRR写1的位置0;这两个命令是不同的,一个用于清零,一个用于置1;这两句话等同与GPIOA->ODR = GPIOA->(ODR&0xff00)|cmd;