#define StepMotor_HIGH HAL_GPIO_WritePin(StepMotor_GPIO,StepMotor_GPIO_PIN,GPIO_PIN_SET) // 输出高电平 #define StepMotor_LOW HAL_GPIO_WritePin(StepMotor_GPIO,StepMotor_GPIO_PIN,GPIO_PIN_RESET) // 输出低电平 #define StepMotor_TOGGLE HAL_GPIO_TogglePin(StepMotor_GPIO,StepMotor_GPIO_PIN) /...
HAL_GPIO_WritePin(LED_PORT, LED_PIN, GPIO_PIN_SET); // 延时一段时间 // 熄灭LED HAL_GPIO_WritePin(LED_PORT, LED_PIN, GPIO_PIN_RESET); // 延时一段时间 } } ``` 2. GPIO输入控制示例 ```c #include "stm32f4xx.h" #define BUTTON_PIN GPIO_PIN_0 #define BUTTON_PORT GPIOA void G...
GPIOport outputdataregister 偏移地址:0x14 复位值:0x00000000 7) GPIO 端口置位/复位寄存器 (GPIOx_BSRR) (x = A..I) GPIOportbitset/resetregister 偏移地址:0x18 复位值:0x00000000 8) GPIO 端口配置锁定寄存器 (GPIOx_LCKR) (x = A..I) GPIO port configurationlockregister 当正确的写序列应用到第1...
(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);//读端口的电平值 // 返回的是一个GPIO_PinState的值,0/1 typedef enum { GPIO_PIN_RESET = 0u, GPIO_PIN_SET } GPIO_PinState; /***/ 位带操作 位带操作(bit-banding)是一种通过特殊内存映射技术,直接对存储器(包括寄存器)中的某个位进行读写...
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...
if(HAL_GPIO_ReadPin(Button_GPIO_PORT,Button_PIN)==GPIO_PIN_SET){ //按钮被按下 }else{ //按钮未被按下 } ``` 04 中断控制 通过HAL库可以方便地配置GPIO中断,并实现相应的中断处理函数。以下是一个简单的中断配置的例子: 4.1初始化中断 ```c ...
void HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState) 1. 其中PinState可选择GPIO_PIN_RESET或GPIO_PIN_SET。GPIO_PIN_RESET为 0 ; GPIO_PIN_SET为 1 void HAL_GPIO_TogglePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin) ...
STM32芯片GPIO的上拉电阻和下拉电阻最小值,典型值和最大值如下: (3)、uint16_t GPIO_PinSource和uint8_t GPIO_AF 这两个参数都是GPIO端口引脚需要配置成复用功能引脚用到的参数。 GPIO_PinSource:指需配置的复用功能引脚源,可选范围GPIO_PinSource0 ...
HAL_GPIO_WritePin(LED4_GPIO_Port, LED4_Pin, GPIO_PIN_SET); 这行代码将 LED4_Pin 引脚的输出电平设置为高电平(GPIO_PIN_SET)。它使用了 HAL 库提供的 HAL_GPIO_WritePin 函数。 GPIO_InitStruct.Pin = LED4_Pin;GPIO_InitStruct.Mode = GPIO...
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);