[物联网] - [STM32/51|JavaWeb|微信小程序] - 3.系统的进行模块开发
作者:互联网
引子
在一个完整的嵌入式工程中,我们经常会遇见使用未听闻过 / 未使用过的模块的需求,对于这种情况相信大家都有自己学习、了解、掌握的一套方法,在此章节我会给出一种我习惯的学习思路与方法。
在本文我们以正点原子STM32F407ZGT6的LED模块为例详解讲解流程
了解工作原理
LED灯中有电流通过时候,将点亮LED灯,单片机系统中,常见的LED灯如下所示,其中长的引脚一端为正极,短的为负极。
LED虽然是发光器件,但归根结底还是二极管,有着跟普通二极管一样的伏安特性曲线。跟普通二极管不同的是,LED里面的PN结,在电压驱动作用下,内部的电子和空穴会复合,复合的过程能量会以发光的形式释放,这就是LED灯的工作原理。
很明显,LED最主要的特性就是当正极为高电压,负极为低电压时电流通过,LED发光,若正极为低电压负极为高电压,则此时此处相当于断路,LED处阻值无限大。
分析原理图
单片机开发中最为核心的基础能力就是读懂原理图,我们先看看核心板上的LED模块的原理图。
我们在原理图中通常以三角形表示LED的存在(即单向导电特性)。
由原理图可得LED的正极 (三角形底边) 已默认连接3.3V高电压,故当我们将其负极置为低电压时LED可正常亮灯,那么该如何得知是哪个IO口 (即单片机引脚) 控制着这两个LED的负极呢?我们继续查看原理图。
可以看到是PF9、PF10两引脚控制着LED0与LED1(即DS0、DS1),那么很简单,我们只需要将PF9与PF10两引脚初始化后拉低电压 (即接地,U=0) 即可。
验证
此处展示HAL库示例代码。注意:代码具体如何实现并不重要,重要的是我们学习到的思想。
标签:51,LED,JavaWeb,引脚,微信,原理图,单片机,低电压,负极 来源: https://blog.csdn.net/qq_51026595/article/details/121069956