GPIO模块标准库解析:CRL与CRH寄存器配置详解 1. GPIO模块概述 GPIO(General Purpose Input/Output)模块是STM32微控制器中非常重要的外设之一,用于配置和控制微控制器的引脚。STM32的GPIO模块通过标准库进行配置,主要涉及CRL和CRH寄存器的设置。CRL寄存器用于配置GPIO端口的低8位引脚,而CRH寄存器用于配置高8
每个锁定位锁定控制寄存器(CRL, CRH)中相应的4个位。 位31:17保留。位16LCKK:锁键 (Lock key)该位可随时读出,它只可通过锁键写入序列修改。0:端口配置锁键位激活1:端口配置锁键位被激活,下次系统复位前GPIOx_LCKR寄存器被锁住。锁键的写入序列:写1-> 写0-> 写1-> 读0-> 读1最后一个读可省略,但可以...
gpiox_crl和gpiox_crh寄存器的工作原理在嵌入式系统中,GPIO(通用输入输出)用于与微控制器的外部世界进行数字信号的输入和输出。对于不同的微控制器,GPIO 的配置和控制可能会有所不同。GPIOx_CRL 和 GPIOx_CRH 寄存器是用于配置 GPIO 的寄存器,其中 x 代表具体的 GPIO 端口编号。这里的解释以一般性的概念为...
每个寄存器只能以32位(字)进行访问 不允许16位(半字)或8位(字节)访问 每组端口有两个32位配置寄存器 • 配置寄存器低(Low) 字GPIOx_CRL • 配置寄存器高(High)字GPIOx_CRH (x是A~G) 配置寄存器低字CRL对应配置 低8位引脚Px0、Px1、……Px7 配置寄存器高字CRH对应配置 高8位引脚Px8、P...
一、GPIO的寄存器 每个GPIO端口有两个32位配置寄存器(GPIOx_CRL, GPIOx_CRH),两个32位数据寄存器(GPIOx_IDR和GPIOx_ODR),一个32位置位/复位寄存器(GPIOx_BSRR),一个16位复位寄存器(GPIOx_BRR)和一个32位锁定寄存器(GPIOx_LCKR) 1、端口配置低寄存器(GPIOx_CRL) (x=A…E) ...
#include"stm32f10x.h"intmain(void){// 开启GPIOA的时钟RCC->APB2ENR|=RCC_APB2ENR_IOPAEN;// 直接修改CRL寄存器来配置PA0// 每个引脚占4位,所以PA0的配置位于CRL的低4位// 设置为输出模式 (01: 10 MHz General Purpose Output push-pull)GPIOA->CRL&=~(0x0F<<(0*4));// 清除PA0原来的配...
3. GPIO的寄存器 GPIOC的寄存器偏移根据手册查询:C 定义:typedef struct{ __IO uint32_t CRL; __IO uint32_t CRH; __IO uint32_t IDR; __IO uint32_t ODR; __IO uint32_t BSRR; __IO uint32_t BRR; __IO uint32_t LCKR;} GPIO_TypeDef;#define GPIOC ((GPIO_TypeDef *...
图5 GPIOx_CRL寄存器 (4)BSRR寄存器是端口位设置/清除寄存器。该寄存器和ODR寄存器具有类似的作用,都可以用来设置GPIO端口的输出位是1还是0。 图6 GPIOx_CRL寄存器 通过固件库操作GPIO CKS32F107系列GPIO相关的函数和定义分布在固件库文件cks32f10x_gpio.c和头文件 cks32f10x_gpio.h文件中。在固件库开发中,操...
一.GPIO的寄存器 32位配置寄存器:GPIOx_CRL,GPIOx_CRH 32位数据寄存器:GPIOx_IDR,GPIOx_ODR 32位置位/复位寄存器:GPIOx_BSRR 16位复位寄存器:GPIOx_BRR 32位锁定寄存器:GPIOx_LCKR GPIOx_CRL :端口配置低寄存器 (控制P0--P7端口) 一个IO位占4个位(4*8=32)P0--P7刚好32位,例如:P0端口:0-1控制输入...