GPIOportbitset/resetregister 偏移地址:0x18 复位值:0x00000000 8) GPIO 端口配置锁定寄存器 (GPIOx_LCKR) (x = A..I) GPIO port configurationlockregister 当正确的写序列应用到第16位 (LCKK) 时,此寄存器将用于锁定端口位的配置。位 [15:0] 的 值用于锁定 GPIO 的配置。在写序列期间,不能更改 LCKR[1...
本寄存器的功能为设置GPIO端口的方向和模式,总共0到32位,每两位就是该port下的pin值,例如将GPIOA_MODER的MODER0[1:0]配置为00,就是将GPIOA的pin0管脚功能配置为输入类型的管脚,将GPIOA_MODER的MODER1[1:0]配置为00,就是将GPIOA的pin1管脚功能配置为输入类型的管脚, 以此类推。 图2 GPIOx_MODER寄存器定义...
/* 直接操作寄存器的方法控制IO */#definedigitalHi(p,i){p->BSRR=i;}//设置为高电平#definedigitalLo(p,i){p->BSRR=(uint32_t)i<<16;}//输出低电平#definedigitalToggle(p,i){p->ODR^=i;}//输出反转状态/* 定义控制IO的宏 */#defineLED1_TOGGLEdigitalToggle(LED1_GPIO_PORT,LED1_PIN)#define...
IO口就是input和output的简称.。General Purpose Input Output Port的简称GPIO.在GPIO内部有一些特殊寄存器。寄存器是连接到总线BUS上,可以通过程序访问。当改变这些寄存器的逻辑数值时,就会改变与之对应的IO口上的逻辑电平。对于stm32单片机来说,当特殊寄存器内的逻辑数值发生改变时,对应的硬件引脚的电压也会发生改变。
这里需要了解的是GPIO模块的port和pin的概念。其中寄存器名称中GPIOx的x表示不同的GPIO端口port,比如STM32芯片支持的port可以从A到I,GPIOA,GPIOB就表示了不同的端口;pin就是不同的port下支持的引脚,比如GPIOA下的引脚数从pin0到pin15。因此port就是pin的集合,不同的port都有它自己的如下图列出来的寄存器。
这里需要了解的是GPIO模块的port和pin的概念。其中寄存器名称中GPIOx的x表示不同的GPIO端口port,比如STM32芯片支持的port可以从A到I,GPIOA,GPIOB就表示了不同的端口;pin就是不同的port下支持的引脚,比如GPIOA下的引脚数从pin0到pin15。因此port就是pin的集合,不同的port都有它自己的如下图列出来的寄存器。
这里需要了解的是GPIO模块的port和pin的概念。 其中寄存器名称中GPIOx的x表示不同的GPIO端口port,比如STM32芯片支持的port可以从A到I,GPIOA,GPIOB就表示了不同的端口; pin就是不同的port下支持的引脚,比如GPIOA下的引脚数从pin0到pin15。 因此port就是pin的集合,不同的port都有它自己的如下图列出来的寄存器...
端口(PORT):独立的外设子模块,包括多个引脚,通过多个硬件寄存器控制引脚。 GPIO 模块由端口 GPIOA、GPIOB、GPIOC 等多个独立的子模块构成。 例如:端口 GPIOA 包括 PA0 ~ PA15 这 16 个引脚,通过 10 个硬件寄存器控制引脚工作。 引脚(PIN):对应微控制器的一个管脚,归属于端口,由端口寄存器的对应位控制。
GPIO pin的状态可以通过多种接口暴露给软件开发者,比如内存映射外设或特定I/O端口指令等。 ●GPIO port是一组GPIO pins(比如8个GPIO pins),它们作为一个整体,按组接受控制。 ● 在嵌入式系统中,对一些结构较简单的外设或电路,通常只要求一位,即开/关两种状态,就可以实现控制。显然,串口和并口在这里都不合适。