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

STM32_实验3_控制RGB灯

HAL_Delay 是 STM32 HAL 库中的一个函数,用于在程序中产生一个指定时间的延迟。这个函数是基于系统滴答定时器(SysTick)来实现的,因此可以实现毫秒级的延迟。

void HAL_Delay(uint32_t Delay);

 配置引脚:

点击 1 到 IOC 配置页面。
点击 2 配置引脚为GPIO_Output。
点击 3 查看 GPIO 配置。
点击 4 配置 PE7。
点击 5 配置高电平。
点击 6 重新生成代码。

 为什么配置高电平?
        为什么这里配置高电平,配置 GPIO 引脚为高电平或低电平,取决于应用场景和你希望通过 GPIO 引脚实现的功能。这里的 LED 灯从原理图看是共阳极也就是三中颜色的LED灯的阳极都已经接了 VCC ,另一端接的是 GPIO 引脚,这时候我们配置高电平是为了让 LED 在默认情况下保持关闭状态。这在实际应用中是一个常见的设计策略。当你想点亮 LED 时,需要将 GPIO 引脚配置为低电平(即 GPIO_PIN_RESET),此时会有电流流过 LED,LED 会发光。

HAL_GPIO_WritePin 函数:

void HAL_GPIO_WritePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState);

参数说明

        GPIOx: 这是一个 GPIO 端口基地址,例如 GPIOA, GPIOB, GPIOC 等等。这些端口由芯片的外设寄存器定义。

        GPIO_Pin: 这是 GPIO 引脚号,你可以使用 HAL 库定义的宏,例如 GPIO_PIN_0, GPIO_PIN_1, GPIO_PIN_5 等等,用来指定要操作的引脚。

        PinState: 这是要设置的引脚状态,它是一个枚举类型 GPIO_PinState,可以取以下两个值:

        1.GPIO_PIN_SET: 设置引脚为高电平。
        2.GPIO_PIN_RESET: 设置引脚为低电平。

	  //实验3HAL_GPIO_WritePin(GPIOE, GPIO_PIN_7, GPIO_PIN_RESET);    /* �???红灯 */printf("red\n");HAL_Delay(1000); // 延时1秒,避免过快发�??// �??? GPIOA �??? 5 号引脚设置为高电�???HAL_GPIO_WritePin(GPIOE, GPIO_PIN_7, GPIO_PIN_SET);		/* 关红�??? */HAL_Delay(1000); // 延时1秒,避免过快发�??HAL_GPIO_WritePin(GPIOE, GPIO_PIN_8, GPIO_PIN_RESET);    /* �??绿灯 */printf("red\n");HAL_Delay(1000); // 延时1秒,避免过快发�??// �??? GPIOA �??? 5 号引脚设置为高电�???HAL_GPIO_WritePin(GPIOE, GPIO_PIN_8, GPIO_PIN_SET);		/* 关绿�??? */HAL_Delay(1000); // 延时1秒,避免过快发�??HAL_GPIO_WritePin(GPIOE, GPIO_PIN_9, GPIO_PIN_RESET);    /* �???蓝灯 */printf("red\n");HAL_Delay(1000); // 延时1秒,避免过快发�??// �??? GPIOA �??? 5 号引脚设置为高电�???HAL_GPIO_WritePin(GPIOE, GPIO_PIN_9, GPIO_PIN_SET);		/* 关蓝�??? */HAL_Delay(1000); // 延时1秒,避免过快发�??

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

相关文章:

  • RISC-V笔记——Pipeline依赖
  • 构建后端为etcd的CoreDNS的容器集群(六)、编写自动维护域名记录的代码脚本
  • Leetcode 剑指 Offer II 098.不同路径
  • LabVIEW智能螺杆空压机测试系统
  • 在 Ubuntu 22.04 上安装 PHP 8.2
  • Java生死簿管理小系统(简单实现)
  • 【VoceChat】一个即时聊天(IM)软件,又是一个可以嵌入任何网页聊天系统
  • 【LeetCode】动态规划—96. 不同的二叉搜索树(附完整Python/C++代码)
  • Nginx UI 一个可以管理Nginx的图形化界面工具
  • Vue向上滚动加载数据时防止内容闪动
  • 基于QT、ARM的智能停车管理系统+高分项目+源码
  • 1.6,unity动画Animator屏蔽某个部位,动画组合
  • 发动机冷却系统排空气
  • 三周精通FastAPI:1 第一步入门
  • RestTemplate基本使用之HTTP实现GET请求和POST请求
  • 2024-10-18 问AI: [AI面试题] 神经网络有哪些不同类型?
  • 【开源免费】基于SpringBoot+Vue.JS课程作业管理系统(JAVA毕业设计)
  • jmeter中对于有中文内容的csv文件怎么保存
  • Leetcode 921 Shortest Path in Binary Matrix
  • 第二十二篇——菲欧几何:相对论的数学基础是什么?
  • 【AI整合包及教程】EchoMimic:开创数字人新时代,让静态图像“活”起来!
  • ArcGIS 最新底图服务地址
  • 【服务器部署】Docker部署小程序
  • 三菱FX PLC设计一个电子钟程序实例
  • 妇女、商业与法律(WBL)(1971-2023年)
  • python 卸载、安装、virtualenv
  • ubuntu24.0离线安装Ollama和纯cpu版本以及对接Spring AI
  • 机器学习核心:监督学习与无监督学习
  • 服务器托管的优缺点有哪些?
  • RestClient查询文档排序、分页和高亮