使用库函数点亮一个LED灯
软件设计
STM32Gpio的介绍
如果想让LED0点亮,那么R12就要是高电平,LED0就要是低电平,也就是PF9就是低电平
F407系统主频要工作在168MHZ
F103的话是工作在72mhz
F429的话就180MHZ
接着我们就要使能Gpio的时钟,使能之后对GPIO相关的参数,比如说工作模式,管脚输出方向,输出的速度怎么样,最后点亮LED灯
编写的一些外设驱动文件,比如我们的LED,蜂鸣器,LCD,IIC,SPIflash等等
这里放一些驱动程序,比如说串口的程序,以及系统的一些时钟初始化,变量的重定义等等主要是用来调试
保存LED的文件存放在APP/led
头文件
定义我们的管脚,以及我们函数的声明
在public中存放系统时钟文件.C和.h文件
在我们的主函数那里有很多初始化定义时钟的配置,还在关键字的重定义,这样子的主函数就会特别多东西
现在我们先把关键字放在时钟的头文件
把他拷贝进来后,突然发现报错了
因为这些类型都定义在stm32f4xx.h的这个文件中
为什么要写这个格式
首先你要知道如果没有这个格式,我们在led.c和main.c里放这个头文件,
那么当你编译的时候就会发出一个错误,类型重定义
出现这个问题是因为你main.c你又包括led.c你放一个头文件进去,就会被包含两次
怎么解决这个
主要是用ifndef这个预定义符号,这个后面加个定义system_h
是想看看这个有没有被定义,没有的话就执行了下面的程序,
如果定义了就不会走下去,就只包含了一次
接下来包含头文件, 不然就找不到
添加文件到APP那里
看到这个就知道要添加头文件了、
抢占和响应优先级为0到3
GPIO相关函数的使用
这个函数的作用是对端口的时钟进行使能
如果你要关闭的话就失能使用这个函数、、
Gpio初始化函数
这个是端口,就是你想点亮的LED灯所在的端口
初始化结构体的指针
这个就是那个结构体
pin是引脚
mode是模式
pull是上拉或者是下拉
Speed是我们的速度
Alternate是我们复用的功能是一些配置
Gpio功能的配置
想让他初始化为熄灭状态,那么就要上拉,你左边的和右边的电平要一致就不会导通了
输出引脚高低电平的函数,第一个参数是他引脚的端口,第二个是他的引脚,第三个是高低电平
这样子写是可以是因为他们能在同一端口上
因为可能不在一个端口上,所以分开写
这个把上拉和高速删了,因为配置重复了,所以要删除下面的那个
这样写便于移植,这些东西都是放在LED文件下的,如果你到时候换个版,你在这里修改引脚,到时候全部就可以用了,就不用改那么多了
原文地址:https://blog.csdn.net/2301_77634163/article/details/142434065
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!