时钟控制通常在RCC_APB2ENR寄存器,位于0x40021000+0x18地址,通过设置特定位来开启GPIOC时钟。对于GPIO的IO口控制寄存器,如CRL和CRH,它们分别管理低和高8位的IO口。例如,要配置GPIO输出,需要知道每个IO位的功能并设置正确值。RCC时钟的地址是0x40011000+0x04,这里我们可以通过编程将GPIOC-13口设置...
按键KEY_UP接在GPIOA端口上,其他按键连接在GPIOE上;LED接在GPIOC上。其中KEY_UP通过电阻连接到3.3v,连接到PA0口,其具有一个唤醒的功能,连接高电平有效。要判断是否按下,看其是不是高电平。初始化时设置为下拉输入。而其他按键,判断按下是看其是不是低电平,初始化时设置为上拉输入。要实现的功能:使能...
#define GPIOF_ODR_Addr (GPIOF_BASE+12)//0x40011A0C #define GPIOG_ODR_Addr (GPIOG_BASE+12)//0x40011E0C #define GPIOA_IDR_Addr (GPIOA_BASE+8)//0x40010808 #define GPIOB_IDR_Addr (GPIOB_BASE+8)//0x40010C08 #define GPIOC_IDR_Addr (GPIOC_BASE+8)//0x40011008 #define GPIOD...
*/voidKeyInit(void){// 定义GPIO的结构体变量GPIO_InitTypeDef GPIO_InitStruct={0};// 使能按键的GPIO对应的时钟KEY_GPIO_CLK_EN();GPIO_InitStruct.Mode=GPIO_MODE_IT_FALLING;// 设置为下降沿触发外部中断GPIO_InitStruct.Pull=GPIO_PULLUP;// 默认上拉GPIO_InitStruct.Speed=GPIO_SPEED_FREQ_HIGH;// ...
在main.c中测试: int main(void) { uint8_t write_dat = 0xa5; uint8_t recv_buf = 0; HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); MX_I2C1_Init(); MX_USART1_UART_Init(); if(HAL_OK == At24c02_Write_Byte(10,&write_dat)) ...
Bit 4:GPIOC时钟使能(写1开启,写0关闭) Bit 3:GPIOB时钟使能(写1开启,写0关闭) Bit 2:GPIOA时钟使能(写1开启,写0关闭) Bit 0:辅助时钟IO时钟使能(写1开启,写0关闭) 5.2.2 端口配置低寄存器:GPIOx_CRL(x=A..E) 端口配置表: 5.2.3 端口配置高寄存器:GPIOx_CRH(x=A..E) ...
在main.c中测试: 代码语言:javascript 复制 intmain(void){uint8_t write_dat=0xa5;uint8_t recv_buf=0;HAL_Init();SystemClock_Config();MX_GPIO_Init();MX_I2C1_Init();MX_USART1_UART_Init();if(HAL_OK==At24c02_Write_Byte(10,&write_dat)){printf("Write ok\n");}else{printf("Write fa...
代码清单:GPIO输入-1 按键检测引脚相关的宏¶ 1 2 3 4 5 6 7 8 // 引脚定义#define KEY1_GPIO_CLK RCC_APB2Periph_GPIOA#define KEY1_GPIO_PORT GPIOA#define KEY1_GPIO_PIN GPIO_Pin_0#define KEY2_GPIO_CLK RCC_APB2Periph_GPIOC#define KEY2_GPIO_PORT GPIOC#define KEY2_GPIO_PIN GPIO_...
STM32-ARM汇编语言零基础教程(二)STM32通用输入输出(GPIO)-2.3 编码切换GPIO输出 108 -- 1:44 App STM32-ARM汇编语从零开始到专家-(四.10)程序员模型-4.10ARM Cortex-A和Cortex-R 1409 -- 1:18:11 App STM32CubeMX 5和CubeIDE-嵌入式系统 五 开发模数转换(ADC)驱动程序和固件 317 -- 34:46 App ...
图13.1.3. 3 GPIO和中断线映射关系图 GPIO和中断线的映射关系如下表: 中断/事件线输入源 EXTI0 PX0(X可为A,B,C,D,E,F,G,H,I,J,K,Z) EXTI1 PX1(X可为A,B,C,D,E,F,G,H,I,J,K,Z) EXTI2 PX2(X可为A,B,C,D,E,F,G,H,I,J,K,Z) EXTI3 PX3(X可为A,B,C,D,E,F,G,H,...