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

【备赛】点亮LED

LED部分的原理图

led前面有锁存器,这是为了防止led会受到lcd的干扰(lcd也需要用到这些引脚)。

每次想要对led操作,就需要先打开锁存器,再执行操作,最后关闭锁存器。

这里需要注意的是,引脚配置为低电平时,LED才会点亮。

具体操作

1)配置

首先要在stm32CubeMX里面配置PD2为高电平,目的是打开锁存器。

然后配置PC8-PC15都是高电平,默认刚上电是关闭的。

这里给高电平,但是不用上拉电阻。 

2)代码

这是截取的一小段代码。需要强调的是:

 
一堆代码HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2,GPIO_PIN_RESET);LCD_Init();LCD_Clear(Black);LCD_SetBackColor(Black);LCD_SetTextColor(White);一堆代码

 一定要在LCD初始化之前关闭锁存器。

这样LCD无论如何操作也不会对led造成干扰。

这就是你刚才配置的那个 锁存器和PC8-PC15。

3)相关函数

void led_all_off() //关闭所有的LED灯
{HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2, 1);HAL_GPIO_WritePin(GPIOC, GPIO_PIN_All, 1);HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2, 0);
}void led_all_on() //打开所有的LED灯
{HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2, 1);HAL_GPIO_WritePin(GPIOC, GPIO_PIN_All, 0);HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2, 0);
}void led_on(int n) //只打开某一个LED灯(n取值为 1 ~ 8)
{HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2, 1);HAL_GPIO_WritePin(GPIOC, GPIO_PIN_All, 1);HAL_GPIO_WritePin(GPIOC, GPIO_PIN_7 << n, 0);HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2, 0);
}void led_status(unsigned char c) //打开一部分LED灯(传入的8位数据分别控制8个灯)
{HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2, 1);GPIOC -> ODR = (c << 8);HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2, 0);
}

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

相关文章:

  • 【音视频】编解码相关概念总结
  • Python爬虫(四)- Selenium 安装与使用教程
  • Node.js项目启动流程以及各个模块执行顺序详解
  • 各种类型网络安全竞赛有哪些 网络安全大赛的简称
  • 浅谈人工智能与深度学习的应用案例研究
  • vue2版本elementUI的table分页实现多选逻辑
  • AI数字人技术源码开发分享:革新短视频营销策略
  • 实验环境搭建集锦(docker linux ros2+强化学习环境+linux上单片机串口调试)
  • sql调优之数据库开发规范
  • 《Effective Objective-C》阅读笔记(上)
  • ClkLog里程碑:荣获2024上海开源技术应用创新竞赛三等奖
  • 【数据结构进阶】哈希表
  • STM32内存五区及堆栈空间大小设置(启动文件浅析)
  • 微信小程序调用火山方舟(字节跳动火山引擎)中的DeepSeek大模型
  • (八)Java-Collection
  • 从单片机的启动说起一个单片机到点灯发生了什么下——使用GPIO点一个灯
  • C++ | 哈希表
  • leetcode_动态规划/递归 70. 爬楼梯
  • 基于Rook的Ceph云原生存储部署与实践指南(上)
  • C++ Qt常见面试题(4):Qt事件过滤器
  • regionserver实例僵住问题分析
  • 服务器离线部署DeepSeek
  • QT mac系统下qml实现的菜单栏,标准快捷键Delete无作用或失灵的处理
  • redis序列化设置
  • 浅谈C++/C命名冲突
  • 【语音编解码】常用的基于神经网络的语音编解码方案对比
  • PVE 配置显卡直通
  • Kronecker分解(K-FAC):让自然梯度在深度学习中飞起来
  • ArcGIS Pro技巧实战:高效矢量化天地图地表覆盖图
  • React + TypeScript 数据模型驱动数据字典生成示例