保鲜柜灯一直闪烁怎么回事,保鲜柜电源灯闪是怎么了

首页 > 数码 > 作者:YD1662023-04-15 09:41:04

我们这里选择打开目录看一下,在test1目录下又多了一些文件,MDK-ARM就是C代码工程文件,双击打开后包含三个选项,test1是工程文件,我们可以双击打开跳转到uVision®5。这样就打开了MDK-ARM集成开发环境,并且导入了test1工程。如果刚才在STM32CubeMX当中直接选择打开工程,同样会来到这个页面。

保鲜柜灯一直闪烁怎么回事,保鲜柜电源灯闪是怎么了(17)

点击test1工程前面的加号,先来看一下C代码工程架构,整个工程的源文件被分成四个组,分别是Application/MDK-ARM、Application/User、Drivers/STM32Fxx_HAL_Drivers、Drivers/CMSIS用户编写的程序主要位于Application/User当中,点击Application/User前面的加号,main.c为主程序所在文件,gpio.c主要包含GPIO初始化相关程序,stm32f1xx_it.c存放各种中断函数。双击打开main.c文件,找到主函数main函数,main函数里面并不是空白的,因为我们在STM32CubeMX当中的配置已经生成相应的C代码,这些代码就对应了我们在CubeMX当中的配置,先来对这个工程进行一下编译。编译完成后,大家会发现main.c这些文件前面多出了一个加号,说明它使用的头文件都已经编译进来了。

HAL_Init();是HAL初始化,系统外设初始化,SystenClock_config();是系统时钟配置,是系统时钟初始化。MX_GPIO_Init();这是MX当中对GPIO接口的初始化,点击右键,我们可以看一下这个函数的定义。

保鲜柜灯一直闪烁怎么回事,保鲜柜电源灯闪是怎么了(18)

首先是对GPIO口的时钟进行使能。HAL_GPIO_WritePin(LED2_GPIO_Port,LED2_pin,GPIO_PIN_SET);是设置引脚的初始输出电平,分别看一下这几个参数,LED2_GPIO_Port它其实就表示GPIOE,表示PE组。再来看一下LED2_pin,表示的就是GPIO_PIN_6,结合刚才的第一个参数,所以它表示的就是PE组的6引脚,也就是PE6。GPIO_PIN_SET其实就是表示1。结合起来看一下就是调用HAL库当中GPIO函数把PE6引脚设置为高电平。也就是设置PE6引脚为高电平。再往下就是设置引脚的输出模式:上拉下拉电阻、最大输出速率。通过调用HAL_GPIO_Init函数完成对GPIO初始化的设置。回到main.c当中,main函数先执行了HAL_Init(); SystemClock_config();MX_GPIO_Init();这三个初始化函数,然后就进入了whlie(1)循环,程序就一直在这个循环里执行,因此需要在whlie(1)当中输入用户代码。通过上面讲的我们知道要想使LED灯闪烁,其实就是控制LED灯亮灭交替。所以我们需要编程控制PE6引脚低电平和高电平。

保鲜柜灯一直闪烁怎么回事,保鲜柜电源灯闪是怎么了(19)

我们用HAL_GPIO_Writepin(GPIOE,GPIO_PIN_6,GPIO_PIN_RESET);来让PE6引脚输出低电平。将上行代码中RESET改成SET则表示输出高电平。但是如果只是让PE6不停的输出高电平和低电平,小灯的闪烁人眼是分不出来,所以我们需要调用延时函数,在它点亮和熄灭之后延时一会。HAL_Delay();延时函数的单位是毫秒,为了方便我们观察,我们可以将延时设置为1000。接下来在对程序进行编译,没有错误就完成了。

保鲜柜灯一直闪烁怎么回事,保鲜柜电源灯闪是怎么了(20)

上一页12345下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.