GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStruct.Pin = GPIO_PIN_1; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull = GPIO_PULLUP; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); //3.操作引脚 HAL_GPIO_WritePin(GPIOA, GPIO_PIN...
< GPIO port input data register, Address offset: 0x10 */__IOuint32_tODR;/*!< GPIO port output data register, Address offset: 0x14 */__IOuint32_tBSRR;/*!< GPIO port bit set/reset register, Address offset: 0x18 */__IOuint32_tLCKR;/*!< GPIO port configuration lock register, Add...
1. GPIO端口初始化设置步骤 2. 利用串口下载程序 3.使用标准库和寄存器方式点亮Led流水灯: 4. 使用HAL库方式创建Led流水灯: 5. 参考 STM32 引脚 GND:ground 接地 TXD: = TX 发送 RXD: = RX 接收 TXL: = TX LED = 传输正在进行的 LED RXL:= RX LED = 接收正在进行的 LED GPIO 端口简介 通用目的输...
void MX_GPIO_Init(void); void MX_USART2_UART_Init(void); int main(void) { HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); MX_USART2_UART_Init(); while (1) { //主循环代码} } 3.4 寄存器操作示例 以下是一个使用寄存器模式配置GPIO的示例: #define GPIOA_BASE 0x40020000 #define R...
首先是端口配置低寄存器(GPIOx_CRL),因为我们配置的GPIO口为PB5,所以是看端口配置低寄存器。假如是GPIO...
第17章 STM32H7之GPIO的HAL库API 本章教程为大家讲解GPIO(General-purpose I/Os)的API使用和注意事项。GPIO是所有外设里面较容易掌握的,但也是用到最多的。 配合第15章讲解的各种IO模式再学习本章,更容易理解透彻。 17.1 初学者重要提示 17.2 GPIO涉及到的寄存器 ...
很多时候,我们会直接调用GPIO的寄存器进行配置,而不使用HAL进行调用,以提高执行效率,特别是中断里面执行时。 17.3 源文件stm32h7xx_hal_gpio.c 这个文件主要是实现GPIO的引脚配置,学习这个文件注意事项: 系统上电后,引脚默认状态是模拟模式。 所有的引脚有弱上拉和弱下拉电阻,阻值范围30-50KΩ。其中配置为模拟模式...
void HAL_GPIO_DeInit(GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin) 1. 将GPIO口恢复至默认状态,即各个寄存器复位时的值。 GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin) 1. 读取引脚的电平状态、函数返回值为0或1。
上面也提到了,STM32有非常多的寄存器,而导致了开发困难,所以为此ST公司就为每款芯片都编写了一份库文件,也就是工程文件里stm32F1xx…之类的。在这些 .c .h文件中,包括一些常用量的宏定义,把一些外设也通过结构体变量封装起来,如GPIO口时钟等。所以我们只需要配置结构体变量成员就可以修改外设的配置寄存器,从而选...