嵌入式入门之点灯
一 博主使用的是板子是STM32F4xx系列的F407ZG的开发板,实物图如下二 点灯基础知识:要想点亮一个LED灯需要先查询开发板原理图,如下图从图中可知LED左边是3.3V所以右边应该是控制不同的电压来控制led的亮灭,二极管的特性是单向流通,且两边电压不同才会发光,所以我们只需要控制右边的电压就可以实现亮灭,那么如何控制呢三 如何控制高低电压(电平)首先我们要知道计算机只能识别0和1,所以我们只要能用0,1来表示高低电平就行了,而MCU就可以计算是否输出高低电平结合电子元器件来控制电压的高低如何输出高低电平就需要通过GPIO(通用输入输出口)来进行操作了,我们需要结合存储器映射表来开启对应外设的时钟,然后配置对应的GPIO口就可以输出高低电平了四 什么是存储器映射表:存储器映射表是由开发板生产厂家提供的,开发人员需要根据手册来进行相关开发和配置从图中可知GPIOF口挂载到了AHB1的总线上,所以我们需要开启AHB1的使能时钟,然后配置GPIO口就可以控制GPIO口输出高低电平了,即控制led的亮灭五 编码实现5.1 配置GPIO口void LED_Init(void){ //开启AHB1总线 RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF, ENABLE); //配置GPIO口 GPIO_InitTypeDef GPIO_InitStruct; GPIO_InitStruct.GPIO_Mode GPIO_Mode_OUT;//设置为输出模式 GPIO_InitStruct.GPIO_Pin GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10;//要配置的引脚号 GPIO_InitStruct.GPIO_OType GPIO_OType_PP;//设置为推挽模式 可输出高低电平 GPIO_InitStruct.GPIO_Speed GPIO_Speed_50MHz; GPIO_Init(GPIOF, GPIO_InitStruct); // 初始化函数 GPIO_SetBits(GPIOF, GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10);//初始化完成默认输出低电平 在这一步设置为输出高电平 }5.2 开关LED函数void LED_ON(int led){ GPIO_ResetBits(GPIOF, led);//输出低电平 } void LED_OFF(int led){ GPIO_SetBits(GPIOF,led);//输出高电平 }六 总结:虽然点灯操作很简单 但是我觉得对于入门的人可以给予很多的信心,对于我来说,这是一个新起点,接下来我也会分享更多的关于嵌入式的知识,世界不该如此渺小.

相关新闻

从斐波那契到泰波那契:动态规划算法详解与C++实现

从斐波那契到泰波那契:动态规划算法详解与C++实现

1. 项目概述:从斐波那契到泰波那契 如果你写过C,大概率绕不开“斐波那契数列”这道经典的入门题。它就像编程世界的“Hello World”一样,是检验递归、迭代乃至动态规划思想的绝佳试金石。但今天我们要聊的,是它的一个“威力加强版…

2026/10/25 6:08:39 阅读更多 →
Unity轻量级IK方案:基于CCD算法的简易实现与工程实践

Unity轻量级IK方案:基于CCD算法的简易实现与工程实践

1. 项目概述:为什么我们需要一个“简化”的IK方案? 在Unity里折腾过角色动画的朋友,对“反向运动学”(Inverse Kinematics,简称IK)这个词一定不陌生。无论是让角色自然地抓取一个位置飘忽的物体&#xff0c…

2026/10/26 15:40:02 阅读更多 →
文生图开源大模型

文生图开源大模型

一、国产开源(中文强、可商用优先)1. Qwen‑Image(阿里通义千问)版本:v1 /v1.5 (2512) 完全开源;v2.0 只开放 API、权重未开源协议:Apache 2.0 ✅ 可商用特点:中文理解 / 中文文字渲…

2026/10/24 4:15:23 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/10/26 12:00:21 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/10/27 4:06:49 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/27 7:21:53 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/10/26 12:00:21 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/10/27 6:20:47 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/10/27 4:06:50 阅读更多 →

日新闻

周新闻

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

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

2026/10/26 12:00:19 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

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

2026/10/27 7:21:50 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

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

2026/10/26 8:34:37 阅读更多 →