使用库函数点亮一个LED灯

ops/2024/9/23 12:28:59/

软件设计

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文件下的,如果你到时候换个版,你在这里修改引脚,到时候全部就可以用了,就不用改那么多了


http://www.ppmy.cn/ops/114774.html

相关文章

【编程底层原理】mysql的redo log undo log bin log日志的作用,以及何时生成,涉及到哪些参数变量

MySQL中的redo log、undo log和bin log是三种重要的日志,它们在数据库事务处理、数据持久性和复制等场景中发挥着关键作用。 1. Redo Log(重做日志) 作用:Redo log用来保证事务的持久性。当数据库发生故障时,可以使用…

高效财税自动化软件如何提升企业财务工作的效率与准确性

在当今企业运营中,财务管理发挥着核心作用。它不仅涉及企业正常运转和市场决策,还是推动企业向高质量发展迈进的关键动力。面对激烈的市场竞争与科技革新的双重挑战,财务管理亟需进行持续的转型与提升,为企业高质量发展目标的实现…

面试金典题2.1

编写代码,移除未排序链表中的重复节点。保留最开始出现的节点。 示例1: 输入:[1, 2, 3, 3, 2, 1]输出:[1, 2, 3]示例2: 输入:[1, 1, 1, 1, 2]输出:[1, 2]提示: 链表长度在[0, 20000]范围内。链表元素在[0…

Leetcode 1041. 困于环中的机器人

1.题目基本信息 1.1.题目描述 在无限的平面上,机器人最初位于 (0, 0) 处,面朝北方。注意: 北方向 是y轴的正方向。 南方向 是y轴的负方向。 东方向 是x轴的正方向。 西方向 是x轴的负方向。 机器人可以接受下列三条指令之一: “G”&…

js进阶——作用域闭包

1. 作用域与闭包的基础概念 1.1 作用域 (Scope) 在 JavaScript 中,作用域定义了变量、函数的可访问性。根据变量声明的位置不同,作用域有三种主要类型: 全局作用域:在代码的任何地方都可以访问。函数作用域:只在声明…

算法题之每日温度

每日温度 给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替。 示例 1: 输入…

单点登录前端

​​​​​​ cookiessession 服务端创建一个登录认证中心, 验证成功后,在session里面创建一个映射,key为cookies,value为用户信息,将cookies返回给客户端,客户端其他系统查询时携带该cookies,…

(182)时序收敛--->(32)时序收敛三二

1 目录 (a)FPGA简介 (b)Verilog简介 (c)时钟简介 (d)时序收敛三二 (e)结束 1 FPGA简介 (a)FPGA(Field Programmable Gate Array)是在PAL (可编程阵列逻辑)、GAL(通用阵列逻辑)等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域…