直接打开main.c 源文件可以看到,该文件定义了两个关键函数 SystemClock_Config 和 MX_GPIO_Init,并且在 main 函数中调用了。这两个函数。SystemClock_Config 函数用来配置时钟系统,和我们模板中的 SystemClock_Config函数作用一样。 MX_GPIO_Init 函数用来初始化 PB0 和 PB1 相关配置,这在我们的模板中,直接放在 m...
在MX_GPIO_Init()可以看到,这里对管脚进行了初始化的配置。 HAL_GPIO_DeInit()函数 该函数的作用是重置GPIO口,由下图可知,该函数输入GPIO管脚号即可初始化对应的GPIO。 HAL_GPIO_WritePin()函数 该函数的作用是设置或清除选定的数据端口位。 一般情况下是配置GPIO输出高低电平。 HAL_GPIO_TogglePin()函数 该函数...
GPIOx:其中x可以是(A..H),用于选择STM32系列的GPIO外设 GPIO_Init:指向GPIO_InitTypeDef结构的指针,该结构包含指定GPIO外设的配置信息。 ***/ 2、GPIO去初始化函数 voidHAL_GPIO_DeInit(GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin); /*** 功能:将GPIOx外设寄存器解除初始化为其默认复位值。 参数定义: GPIO...
static void MX_GPIO_Init(void):这是一个静态函数,用于初始化GPIO配置。函数名是MX_GPIO_Init,不接收任何参数,返回值为空(void)。 GPIO_InitTypeDef GPIO_InitStruct = {0};:在函数内部创建了一个名为GPIO_InitStruct的结构体变量,用于配置GPIO的初始化参数,并初始化为默认值。 __HAL_RCC_GPIOA_CLK_ENABLE...
spin_lock_init(&port[i].lock); if (!initialed) /* its a serious configuration bug when it fails */ // 添加 gpio chip , 调用的是我们前面用到的一个线索函数, 该函数中有给 gpio_desc 数组赋值 BUG_ON(gpiochip_add(&port[i].chip) < 0); ...
首先在mian.c的MX_GPIO_Init中,GPIO_Initure.Mode=GPIO_MODE_IT_RISING,这里设置为上升沿触发。Mode值为GPIO_MODE_IT_RISING(外部中断上升沿触发),GPIO_MODE_IT_FALLING(外部中断下降沿触发)或者GPIO_MODE_IT_RISING_FALLING(外部中断双边沿触发)。
右键单击函数,单击Go To Definition Of 'MX_GPlO_Init' 定位(注释3)到函数定义所在的文件gpio.c(注释4)中,可以看到初始化函数中所做的设置正是我们在STM32CubeMX中所做的设置 此时如果不增加任何代码,编译整个工程应该是可以正常编译通过,0错误和0警告 ...
GPIO 有八种工作模式,分别是: 输入模式有: 输入浮空 输入上拉 输入下拉 模拟功能 输出功能有: 开漏输出 推挽输出 开漏式复用功能 推挽式复用功能 1.输入浮空模式 输入浮空模式:数据通道中仅接入TTL触发器(作用是将相对缓慢变化的模拟信号变成矩形信号)整形,随后输出到输入数据寄存器,该种工作模式未接入任何上拉/下...
GPIO配置比较简单,就不再啰嗦了 HAL库GPIO操作详解与结构介绍 打开生成的代码,看看上面配置的GPIO初始化内容,上面cubemx的配置项可以看到已经生成对应的代码了,GPIO的配置顺序:使能GPIO时钟->配置相关采参数: voidMX_GPIO_Init(void) { GPIO_InitTypeDefGPIO_InitStruct={0}; ...