#define KEY1_INT_GPIO_PORT GPIOA#define KEY1_INT_GPIO_CLK RCC_AHB1Periph_GPIOA#define KEY1_INT_GPIO_PIN GPIO_Pin_0#define KEY1_INT_EXTI_PORTSOURCE EXTI_PortSourceGPIOA#define KEY1_INT_EXTI_PINSOURCE EXTI_PinSource0#define KEY1_INT_EXTI_LINE EXTI_Line0#define KEY1_INT_EXTI_IRQ EX...
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;之后还有几个配置如 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_GPIO_InitStructure.GPIO_Mode = GPIO_Mode_等若干几句之后,会有 GPIO_Init(GPIOA, &GPIO_InitStructure);这一句中GPIOA就是说以上的配置中是GPIOA这一组的。
GPIO_ControlOutputPin(GPIOA, GPIO_PIN_1, GPIO_PIN_SET); } } ``` 在上述代码中,我们首先使用GPIO_Init函数配置了GPIOA引脚0为输入模式,并启用了上拉电阻;配置了GPIOA引脚1为推挽输出模式,没有内部电阻。然后,在主循环中,我们使用GPIO_ReadInputPin读取GPIOA引脚0的输入电平,并使用GPIO_ControlOutputPin控制...
,如图,此时引脚GPIOB_Pin_1的引脚输出为0,但是灯却是亮的, 重新检查原理图后,发现GPIOB_Pin_1的引脚是与LED共阴极链接的,即输出低电平才会亮,得把bsp里的灯亮函数改为调用Reset函数(原来是Set) 至此,key1和key2功能混乱的原因找到了;(以后写代码时得先注意把原理图看仔细些,不然就是在写bug) 接下来检查...
(1)GPIO_Pin: (2)Mode: (3)Speed: (4)OType: (5)PuPd: 三、GPIO使用步骤 四、代码示例 1. 跑马灯显示 2. 显示数字 一、GPIO寄存器介绍 1. GPIO简介 GPIO是STM32微控制器上的一组引脚,可配置为输入或输出模式,用于与外部设备进行数字信号交换。每个GPIO引脚都有一个唯一的编号,通常称为引脚名称或引脚...
l Medium,GPIO速度为中速,通常为10MHZ l High,GPIO速度为高速,通常为50MHZ 四、 输出编程 测试有GPIOA1和GPIOA2设置为输出测试 (一)CubeMx设置 (二) 初始化函数 宏定义 #defineDONG_OUT_1_Pin GPIO_PIN_1#defineDONG_OUT_1_GPIO_Port GPIOA#defineDONG_OUT_2_Pin GPIO_PIN_2#defineDONG_OUT_2_GPIO...
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_Init(GPIOB, &GPIO_InitStructure); GPIO_PinRemapConfig(GPIO_Remap_USART1,ENABLE); 这就完成了IO口的配置和重映射,下边再配置相关的外设(USART1)就可以使用了。 外部中断线也是可以映射的,并且需要开AFIO时钟,不用GPIO_PinRemap函数,用GPIO_EXTILin...
#define LED_B_GPIO_PIN GPIO_Pin_1 #define LED_B_GPIO_PORT GPIOB #define LED_B_GPIO_CLK RCC_APB2Periph_GPIOB // 直接操作寄存器的方法控制IO #define digitalHi(port, pin) do {port->BSRR |= pin;} while (0) // 置位 #define digitalLo(port, pin) do {port->BRR |= pin;} while...
void GPIO_StructInit(GPIO_InitTypeDef* GPIO_InitStruct); ③设置一组IO口为高电平 void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); ④设置一组IO口为低电平 void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
PA0是最低位,PA3相对最高 0x05