当前位置: 首页 > news >正文

STM32之点亮LED灯

使用固件库实现LED点灯

LED灯:

LED灯,是一种能够将电能转化为可见光的半导体器件

控制LED灯:

LED灯的正极接到了3.3V,LED灯的负极接到了PA1,也就是GPIOA1引脚

只需要控制PA1为相对应的低电平,即可点亮对饮的LED灯,输出高电平则熄灭对应的LED灯。

原理图:

具体代码如下:

主函数:

点亮灯的函数:

配置各个函数的具体做法:

因为我们是使用GPIO进行输出所以先打开stm32f103x_gpio.h的库文件,里面有许多的定义的函数所需的结构体,再打开一些时钟所需的库函数stm32f10x_rcc.h,stm32f10x_rcc.c,stm32f10x.h

我们的思想是在main函数里面调用一个函数使这个LED灯变亮

主要分为三步走:

初始化GPIO外设时钟(被调用的函数)

初始化LED引脚

输出电平

led_initstruct是我们自己定义的结构体名称,通过这个就可以配置相关的引脚,输出速度,输出模式。

输出速度的配置

输出模式的配置,这里我使用的是推挽输出,即Out_PP

配置初始化GPIO结构体,在这里第一个参数是GPIOA,第二个参数是我们定义的  GPIO结构体名称led_initstruct 

外设时钟(使能ENABLE)

配置电平

第一个参数为GPIOA

第二个参数为GPIO_Pin_1

我们所用的GPIOA是通过桥接线APB2连接的

成功点亮(上面一个是电源指示灯,下面一个才是需要点亮的LED灯)

实现LED闪烁

只需在main函数里面进行操作即可

这里边加入了一个延迟函数delay(),里面的i是一个通过CPU主频灯大致计算的数值,无需记住。

如下图,上面一行是输出高电平,下面一行是输出低电平,我们要使LED灯熄灭,可以在PA1输出高电平,使两端无法流通,就可以实现熄灭。

http://www.lryc.cn/news/426518.html

相关文章:

  • Java 多线程练习2 (抽奖比较Runnable写法)
  • 使用fastboot更新部分系统
  • windows 加载portch遇到的错误
  • 如何将 CICD 模版重构为 CICD component?
  • 数学建模——评价决策类算法(层次分析法、Topsis)
  • KEEPALIVED 全csdn最详细----理论+实验(干货扎实,包教会的)
  • 微信云开发云存储全部下载
  • vos3000怎样对接voip落地语音网关呢?卡机和O口网关的配置技巧有哪些?
  • MySQL数据库专栏(四)数据库操作
  • Python编写Word文档
  • 聚星文社AI工具
  • 思科OSPF动态路由配置8
  • C++(10)类语法分析(1)
  • python语言day6 os random datetime .ini文件
  • powershell 终端 执行 pnpm -v报错
  • 最新保姆级Anaconda和Pycharm安装激活过程(2024最新版本)
  • 虚幻5|布料模拟
  • K8S 存储
  • Kafka Manager支持jdk1.8的部署和使用
  • vmware和virtualbox优缺点
  • [C++进阶]二叉树进阶的一些面试题(一)
  • 【Python单元测试】学习笔记1
  • NVDLA专题10:具体模块介绍——Planar Data Processor
  • 面向财商人群的AI垂直产品 —— AI股票助手
  • 玩AI第二步——python 环境安装
  • 【图解秒杀系列】秒杀技术点——静态化
  • Simple RPC - 05 从零开始设计一个客户端(下)_ 依赖倒置和SPI
  • 2024新型数字政府综合解决方案(三)
  • 计算机毕业设计hadoop+spark+hive知识图谱音乐推荐系统 音乐数据分析可视化大屏 音乐爬虫 LSTM情感分析 大数据毕设 深度学习 机器学习
  • 值类型与引用类型