尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
【英飞凌 Edgi Talk评测】3. 多LED控制(同时闪烁+跑马灯)
在上一篇文章 【开发环境搭建 点灯】 中已经成功运行了 Blink_LED 示例程序控制单个 LED3 闪烁。本篇文章将在此基础上探索如何控制开发板上的三颗 LED实现更丰富的灯光效果。一、LED 硬件资源开发板上共有3 颗用户 LED从左到右依次排列颜色分别为红色、绿色、蓝色。查看开发板信息在 RT-Thread Studio 的项目资源管理器中双击Board Information可以查看开发板的详细信息和相关查看 LED 原理图在开发板信息面板的底部可以找到Base_Schematic底板原理图下载链接下载后查看 LED 部分的引脚定义从原理图可以确认三颗 LED 对应的 MCU 引脚为LED引脚颜色LED1P16_7红LED2P16_6绿LED3P16_5蓝在代码中使用 RT-Thread 提供的GET_PIN(port, pin)宏来定义引脚#define LED_PIN_R GET_PIN(16, 7) /* 红色 LED1 */ #define LED_PIN_G GET_PIN(16, 6) /* 绿色 LED2 */ #define LED_PIN_B GET_PIN(16, 5) /* 蓝色 LED3 */​二、三灯同闪效果修改思路默认的 Blink_LED 代码仅控制 LED3蓝色闪烁。要实现三颗 LED 同时闪烁需要在main.c中定义三个 LED 引脚将三个引脚都初始化为输出模式在循环中同时控制三个 LED 的电平状态代码修改在 Blink_LED 示例工程的主程序main.c中修改代码如下#include rtthread.h #include rtdevice.h #include board.h #define LED_PIN_R GET_PIN(16, 7) #define LED_PIN_G GET_PIN(16, 6) #define LED_PIN_B GET_PIN(16, 5) int main(void) { rt_kprintf(Hello RT-Thread\r\n); rt_kprintf(This core is cortex-m33\r\n); /* 将三个 LED 引脚设置为输出模式 */ rt_pin_mode(LED_PIN_R, PIN_MODE_OUTPUT); rt_pin_mode(LED_PIN_G, PIN_MODE_OUTPUT); rt_pin_mode(LED_PIN_B, PIN_MODE_OUTPUT); rt_uint8_t i 0; while (1) { /* i 为 0 时点亮三个 LED否则熄灭 */ rt_pin_write(LED_PIN_R, (i 0) ? PIN_HIGH : PIN_LOW); rt_pin_write(LED_PIN_G, (i 0) ? PIN_HIGH : PIN_LOW); rt_pin_write(LED_PIN_B, (i 0) ? PIN_HIGH : PIN_LOW); rt_thread_mdelay(500); /* 延时 500ms */ i; if (i 1) { i 0; } } return RT_EOK; }​代码修改后的 IDE 界面如下编译与烧录点击工具栏的编译按钮编译修改后的工程。编译成功后点击下载按钮烧录固件。运行效果烧录完成后三颗不同颜色的 LED 将会同时点亮和熄灭三、跑马灯效果修改思路在三灯同闪的基础上通过改变控制逻辑让红、绿、蓝三颗 LED 依次循环点亮形成跑马灯流水灯效果。具体逻辑为i 0点亮红灯熄灭绿灯和蓝灯i 1点亮绿灯熄灭红灯和蓝灯i 2点亮蓝灯熄灭红灯和绿灯代码修改将主循环修改为rt_uint8_t i 0; while (1) { /* 根据 i 的值依次点亮红、绿、蓝 */ rt_pin_write(LED_PIN_R, (i 0) ? PIN_HIGH : PIN_LOW); rt_pin_write(LED_PIN_G, (i 1) ? PIN_HIGH : PIN_LOW); rt_pin_write(LED_PIN_B, (i 2) ? PIN_HIGH : PIN_LOW); rt_thread_mdelay(500); /* 延时 500ms */ i; if (i 3) { i 0; } }​代码修改后的 IDE 界面如下编译与烧录修改代码后重新编译。编译成功后烧录固件。运行效果烧录完成后三颗 LED 会按红 → 绿 → 蓝的顺序依次循环点亮形成跑马灯效果红灯亮绿灯亮蓝灯亮四、总结通过本章节的实践掌握了以下技能从开发板信息面板和原理图中获取 GPIO 引脚定义使用GET_PIN()宏映射 MCU 引脚使用rt_pin_mode()和rt_pin_write()控制 GPIO 输出通过调整逻辑实现多 LED 同步控制和依次循环点亮效果三颗 LED 的引脚定义是后续所有 GPIO 相关实验的基础LED宏定义引脚颜色LED1GET_PIN(16, 7)P16_7红LED2GET_PIN(16, 6)P16_6绿LED3GET_PIN(16, 5)P16_5蓝。---------------------作者HonestQiao链接https://bbs.21ic.com/icview-3515187-1-1.html来源21ic.com此文章已获得原创/原创奖标签著作权归21ic所有任何人未经允许禁止转载。
RELATED

相关推荐

PC成为AI主战场:硬件革命与开源生态解析

PC成为AI主战场:硬件革命与开源生态解析

1. 为什么PC正在成为AI的主战场?十年前,如果有人告诉你个人电脑将成为人工智能的主战场,你可能会觉得这是个笑话。但今天,当我用一台搭载RTX 4090显卡的台式机同时运行三个大语言模型时,这个趋势已经变得无比清晰。PC全…

📅 2026/9/18 8:26:32
ADC药物开发:靶点选择策略与关键技术解析

ADC药物开发:靶点选择策略与关键技术解析

1. ADC药物开发中的靶点选择策略 ADC(抗体偶联药物)作为当下最热门的抗肿瘤药物开发方向之一,其成功的关键第一步就是靶点的精准选择。从业十余年,我深刻体会到靶点选择就像狙击手的瞄准过程——差之毫厘,谬以千里。今…

📅 2026/9/15 10:54:26
C# WinForms数独游戏开发实战:从界面设计到回溯算法实现

C# WinForms数独游戏开发实战:从界面设计到回溯算法实现

1. 项目概述:为什么选择C# WinForms来开发数独?数独这个游戏,大家都不陌生,一个9x9的格子,填上1-9的数字,让每行、每列、每个3x3的宫格都不重复。规则简单,但背后的逻辑和算法却很有意思。你可能…

📅 2026/8/23 17:03:58
MORE NEWS

更多资讯

📰

MATLAB实现兰伯特问题的航天轨道设计与优化

1. 兰伯特问题概述:航天轨道设计的数学基石兰伯特问题(Lamberts Problem)是航天动力学中经典的轨道转移问题,核心是求解在两个已知位置向量之间、在给定时间内完成转移所需的轨道参数。这个问题由瑞士数学家约翰海因里希兰伯特在1…

📰

进口编码器停产替代:三条路线与现场实测复盘

上个月一个老朋友打电话过来,说他们产线上的一台进口编码器彻底买不到了,原厂发了停产通知,备件库里最后两只已经被他锁进柜子当宝贝。这种电话我这两年接过不少。编码器这个位置特别尴尬,它不像轴承、密封件那样有大把通用替代&a…

📰

ROS中航向角的正确求解:从四元数到yaw的数学与工程实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

PSP3爆料解析:15瓦芯片、低功耗模式与3-7小时续航的功耗账

前几天刷到一条爆料,说索尼下一代掌机(圈子里习惯先叫它PSP3)会用一颗15瓦级别的芯片,配合低功耗模式,续航能做到3到7小时,发布窗口指向2027年底。作为一个常年跟芯片功耗、电源管理打交道的人,…

📰

IT部门年终总结PPT全攻略:从运维数据到业务价值呈现

简介:一份面向IT部门管理者与信息部团队的年终总结PPT模板,聚焦年度目标复盘、技术项目实施、运维支持与来年规划四大模块,适合用于部门汇报、述职或年度复盘场景。压缩包内共1个文件,为PPTX演示文稿,约5.7MB&#xff…

📰

Iris中间件清单:13个内置中间件让你快速构建更安全的应用

Iris中间件清单:13个内置中间件让你快速构建更安全的应用 【免费下载链接】iris The fastest HTTP/2 Go Web Framework. New, modern and easy to learn. Fast development with Code you control. Unbeatable cost-performance ratio :rocket: 项目地址: https:/…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬