GPIO_InitTypeDef GPIO_InitStruct = {0};//初始化结构体__HAL_RCC_GPIOA_CLK_ENABLE();//GPIO时钟开启GPIO_InitStruct.Pin = DONG_IN_1_Pin;//引脚GPIO_InitStruct.Mode = GPIO_MODE_INPUT;//输入模式GPIO_InitStruct.Pull = GPIO_PULLUP;//上拉HAL_GPIO_Init(DONG_IN_1_GPIO_Port, &GPIO_InitStr...
至于为什么要用两个下划线来定义“__LED_H”标号,其实这只是防止它与其它普通宏定义重复了,如我们用“GPIO_PIN_0”来代替这个判断标号,就会因为stm32f10x.h已经定义了GPIO_PIN_0,结果导致“bsp_led.h”文件无效了,“bsp_led.h”文件一次都没被包含。Next...
pos = ((uint32_t)0x01) << pinpos;/* Get the port pins position */currentpin = (GPIO_InitStruct->GPIO_Pin) & pos;if(currentpin == pos) { pos = pinpos <<2;/* Clear the corresponding low control register bits */pinmask = ((uint32_t)0x0F) << pos; tmpreg &= ~pinmask;/*...
/*设置初始状态为 SetBits 关闭LED灯(低电平点亮)*/ GPIO_SetBits(LED1_GPIO_PORT, LED1_GPIO_PIN); 1. 2. 难点就是函数种运用了结构体指针: 下面我们来学习一下C语言中的结构体 1. 什么是结构体? 结构体是一种工具,用这个工具可以定义自己的数据类型 2. 结构体与数组的比较 (1) 都由多个元素组成 ...
GPIO_Mode_AF_OD = 0x1C, // 复用开漏输出 (0001 1100)b GPIO_Mode_AF_PP = 0x18 // 复用推挽输出 (0001 1000)b } GPIOMode_TypeDef; #define GPIO_Pin_0 ((uint16_t)0x0001) /*!< Pin 0 selected */ #define GPIO_Pin_1 ((uint16_t)0x0002) /*!< Pin 1 selected */ ...
LED2_GPIO_CLK RCC_APB2Periph_GPIOB /* GPIO端口时钟*/#define LED2_GPIO_PIN GPIO_Pin_0 /* 连接到SCL时钟线的GPIO */// B-蓝色#define LED3_GPIO_PORT GPIOB /* GPIO端口 */#define LED3_GPIO_CLK RCC_APB2Periph_GPIOB /* GPIO端口时钟 */#define LED3_GPIO_PIN GPIO_Pin_1 /*连接到...
#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...
根据硬件电路图知,两个LED灯对应的IO引脚分别为PortB5,PortB5,当两个引脚为低电平时,二极管导通;当两个引脚为高电平时,二极管截止,因此对这两个IO引脚设置高低电平变化即可。 led.h文件内容如下: #ifndef __LED_H #define __LED_H #include "sys.h" #define LED0_OFF GPIO_SetBits(GPIOB, GPIO_Pin_...
/*Configure GPIO pin : PtPin */GPIO_InitStruct.Pin = LED4_Pin;GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;GPIO_InitStruct.Pull = GPIO_NOPULL;GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;HAL_GPIO_Init(LED4_GPIO_Port, &GPIO_InitStru...
硬件设计在本教程中STM32 芯片与LED 灯的连接见图1,这是一个RGB 灯,里面由红蓝绿三个小灯构成, 使用PWM控制时可以混合成256 不同的颜色。 这些LED 灯的阴极都是连接到STM32 的GPIO引脚,只要我们控制GPIO引脚的…