< I/O output speed: High 50 MHz */#define GPIO_SPEED_FREQ_LOW (0x00000000u) /*!< Low speed */ #define GPIO_SPEED_FREQ_MEDIUM (0x00000001u) /*!< Medium speed */ #define GPIO_SPEED_FREQ_HIGH (0x00000002u) /*!< High speed */ #define GPIO_SPEED_FREQ_VERY_HIGH (0x00000003u) ...
< I/O output speed: High 50 MHz */ #define GPIO_SPEED_FREQ_LOW (0x00000000u) /*!< Low speed */ #define GPIO_SPEED_FREQ_MEDIUM (0x00000001u) /*!< Medium speed */ #define GPIO_SPEED_FREQ_HIGH (0x00000002u) /*!< High speed */ #define GPIO_SPEED_FREQ_VERY_HIGH (0x00000003u)...
GPIO_InitStruct.Pull = GPIO_PULLUP; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; GPIO_InitStruct.Pin = GPIO_PIN_0 | GPIO_PIN_7 | GPIO_PIN_14; HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); /* -3- Toggle IO in an infinite loop */ while (1) { // HAL_GPIO_TogglePin(GPIOB,...
#define GPIO_SPEED_FREQ_MEDIUM (0x00000001U) /*!< range 5 MHz to 25 MHz, please refer to the product datasheet */ #define GPIO_SPEED_FREQ_HIGH (0x00000002U) /*!< range 25 MHz to 50 MHz, please refer to the product datasheet */ #define GPIO_SPEED_FREQ_VERY_HIGH (0x00000003U)...
上述配置是用STM32CUBEMX配置的,只能配置GPIO速率为GPIO_SPEED_FREQ_HIGH,其实应该就是和库函数配置的50Mhz差不多。 GPIO配置完成开始测试,先使用HAL库的GPIO操作代码: while (1) { HAL_GPIO_WritePin(GPIOA, GPIO_PIN_1, GPIO_PIN_RESET); HAL_GPIO_WritePin(GPIOA, GPIO_PIN_1, GPIO_PIN_SET); ...
< Fast speed */#define GPIO_SPEED_FREQ_VERY_HIGH ((uint32_t)0x00000003U) /*!< High speed */ GPIO调用的HAL函数: void HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState); 该函数其实是对BSRR寄存器进行操作。
(实际上CPU复位后就是输入状态) */ gpio_init.Mode = GPIO_MODE_INPUT; /* 设置输入 */ gpio_init.Pull = GPIO_NOPULL; /* 上下拉电阻不使能 */ gpio_init.Speed = GPIO_SPEED_FREQ_VERY_HIGH; /* GPIO速度等级 */ for (i = 0; i < HARD_KEY_NUM; i++) { gpio_init.Pin = s_gpio_...
();/**I2C2 GPIO ConfigurationPH4 ---> I2C2_SCLPH5 ---> I2C2_SDA*/GPIO_InitStruct.Pin=GPIO_PIN_4|GPIO_PIN_5;GPIO_InitStruct.Mode=GPIO_MODE_AF_OD;GPIO_InitStruct.Pull=GPIO_NOPULL;GPIO_InitStruct.Speed=GPIO_SPEED_FREQ_VERY_HIGH;GPIO_InitStruct.Alternate=GPIO_AF4_I2C2;//PH4, PH...
< Fast speed */ #define GPIO_SPEED_FREQ_VERY_HIGH ((uint32_t)0x00000003U) /*!< High speed */ 使用后两种速度等级的话,最好使能IO补偿单元。 6 GPIO兼容CMOS和TTL电平 CMOS和TTL电平兼容问题也是一个比较重要的知识点 7 不使用的引脚推荐设置为模拟模式...
< Fast speed */#define GPIO_SPEED_FREQ_VERY_HIGH ((uint32_t)0x00000003U) /*!< High speed */ GPIO调用的HAL函数: void HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState); 该函数其实是对BSRR寄存器进行操作。