最近在串口发送引脚上接LED指示发送或者接收状态,但是需求是希望连续发送或者接收字符过程中LED闪烁,而不是保持在一个常量或者常灭的状态。首先,把实际电路图和串口时序贴出来:

  可以看出串口发送接收空闲态为高电平,只要进行数据发送就一定会产生低电平,利用低电平点亮LED,再利用高电平熄灭。
  但是在实际操作中发现大于2500bps,连续发送数据的时候灯是不会闪烁的,会保持一个常量的状态,只是亮度会随数据内容不同而变化,这就牵涉到 LED 点亮的一个时间问题了。LED点亮熄灭到再次点亮是需要一定时间间隔的,一般常见的在 4.x ms,这里以4ms举例,也就是说如果点亮led,熄灭,下次点亮,只有这个熄灭的时间超过4ms,才可以看出闪烁,否则看起来就像是常亮的。既然有这个要求,就和波特率有一定关系了,我们按照极端情况来考虑,发送字符为0xFF的情况,那么只有起始位是一个低电平,按照4ms发送一个字符(10bit)来计算,此时波特率为2500bps。这就表明大于2500波特率的时候,无论连续发送什么数据,灯都是不会闪烁的。
  好了,确定灯目前处于一个常亮状态了,那么现在的问题是为什么灯亮度会不略有变化,做一个测试,发送连续十六进制,会发现这个十六进制数中的为0的bit越多,灯就越亮。说道这里,那就是 PWM 呼吸灯一个原理啦。实际上都是较快频率控制LED亮灭,值得注意的是不少人认为是亮灭太快,导致肉眼观察不出,这个说法有点牵强,我以前也是跟着这个想法走,实际上 LED 根本没有不停亮灭,根据我前面说的LED点亮的间隔可以得知,所以灯一直是亮的,亮度发声变化是由于LED两端的电压差发生了变化。以PWM举例,高频率的周期变化的0和1电平,也就是占空比对应到模拟信号上也就成了转换电压,拿5V举例,占空比百分之50,那么实际输出平均电压就是2.5V,但是为什么要平均呢?这就是数字信号和模拟信号的区别了,我们控制的是数字信号,而实际起作用的要转换成模拟信号了。
  综上,低频是亮灭效果,因为可以满足led点亮间隔要求,高频就是不同亮度的常亮效果了,原因如上。

简单话题:LED呼吸灯和串口LED指示灯相关推荐

  1. 使用TIM3和TIM4,驱动外接LED和STM32上已焊接的LED,实现2个 LED呼吸灯的效果

    文章目录 一.PWM相关介绍 1.PWM的含义 2.PWM的基本原理 3.PWM的优点及应用范围 4.STM32上的PWM 5.PWM相关寄存器 6.PWM脉冲宽度调制 7.PWM的频率 二.实现呼吸 ...

  2. STM32输出PWM波形以及实现LED呼吸灯

    目录 一.PWM的简介 1.PWM的定义 2.PWM的优点 3.PWM的几种控制方法 (1)等脉宽PWM法 (2)随机PWM (3)SPWM法 4.PWM的主要参数 (1)PWM占空比 (2)PWM的 ...

  3. STM32F103C8T6核心开发板下,通过TIM3和TIM4输出PWM波形实现2个 LED呼吸灯的效果

    使用TIM3和TIM4,分别输出一个PWM波形,驱动一个外接的LED灯以及最小开发板上已焊接的LED(固定接在 PC13 GPIO端口),实现2个 LED呼吸灯的效果 文章目录 使用TIM3和TIM4 ...

  4. 小熊派gd32f303学习之旅(7)—使用PWM实现LED呼吸灯

    小熊派gd32f303学习之旅(7)-使用PWM实现LED呼吸灯 一.前言 通过查看gd32f30x的参考手册,可以知道gd32f303的通用定时器和高级定时器可以硬件生成PWM波,然后我们查看gd3 ...

  5. 使用STM32输出PWM波形LED呼吸灯的效果

    文章目录 前言 一.PWM简介 1.1 关于PWM 1.2 使用步骤 二.使用STM32CUBEMX实现2个 LED呼吸灯的效果 2.1.配置环境 2.2 代码配置 2.3.输出PWM波形 2.4 呼 ...

  6. STM32输出PWM波形及LED呼吸灯

    目录 一.PWM的介绍 1.概述 2.优点 3.主要产生方法 SPWM法 1.等面积法 2.硬件调制法 3.软件生成法 4.PWM电路图 5.PWM基本原理 二.cubemx项目的建立 1.选择芯片S ...

  7. 嵌入式——使用定时器输出PWM波形,实现 LED呼吸灯的效果

    一.实验要求: 使用TIM3和TIM4,分别输出一个PWM波形,PWM的占空比随时间变化,去驱动你外接的一个LED以及最小开发板上已焊接的LED(固定接在 PC13 GPIO端口),实现2个 LED呼 ...

  8. ESP32 Arduino开发之路(2)— 使用PWM实现LED呼吸灯

    ESP32 Arduino开发之路(2)- 使用PWM实现LED呼吸灯 一.前言 在ESP32上有一个LEDC外设模块专用于输出PWM波形,其介绍如下所示: 参考文章:在 ESP32 上使用 LEDC ...

  9. 利用PWM实现LED呼吸灯

    一.实验目的 本实验使用TIM3和TIM4,分别输出一个PWM波形,PWM的占空比随时间变化,去驱动你外接的一个LED以及最小开发板上已焊接的LED(固定接在 PC13 GPIO端口),实现2个 LE ...

最新文章

  1. React 项目----内联样式style的使用 (12)
  2. 一些变态的PHP一句话后门收集
  3. 【转】刨根究底字符编码之二——关键术语解释(下)
  4. 和渠道商成为真朋友,CDEC大会做对了什么?
  5. 信息学奥赛一本通 2073:【例2.16 】三角形面积
  6. Selector#wakeup()
  7. apache php 整合 linux,apache集成php5.6方法分享
  8. 通俗易懂的数学建模示例(一)
  9. Java中类与对象的定义与使用
  10. CPA、CPS、CPC、CPM推广是什么意思
  11. python哪个字体好看_Python实现对比不同字体中的同一字符的显示效果
  12. html调整背景页面的大小,css如何设置背景图片大小
  13. 模拟扑克牌大小软件_扑克与软件工程
  14. 实现Torchlight(火炬之光)的背包UI效果
  15. 【Vue3.0 + Element-plus】el-tree树状结构节点前箭头样式修改
  16. 没有密码,如何清除PPT的限制编辑?
  17. 百度沈抖:建设新型基础设施,让中小企业尝到数字化的甜头
  18. 如何利用 DITA 实现高效的跨部门内容共享?
  19. 个性化新闻项目之设计和简介
  20. 袖珍拾遗(转贴来源于流水无声)

热门文章

  1. sqlserver垮库查询_Oracle和SQLServer中实现跨库查询
  2. gt爵士变形步骤_代码广播简介:您可以编码为24/7的爵士节拍
  3. hopper_如何利用卫星收集的遥感数据轻松对蚱hopper中的站点进行建模
  4. k8s 分发证书文件 启动文件
  5. day 04 作业 循环和分之
  6. Day-17: 网络编程
  7. H5实现微信摇一摇功能
  8. redis实现cache系统实践(六)
  9. 4、C#进阶:MD5加密、进程、线程、GDI+、XML、委托
  10. h3c交换机配置文件的导出