【杂谈理解】STM32F103引脚反转速度时间

news2024/9/21 5:41:57

前言

  事情的起因是最近我在使用F103编写WS2812彩灯的时序时遇到了一些小问题。具体来说,我发现WS2812的'1'码的低电平部分的时序无法达到要求的220ns~380ns,而只能到大约580ns左右。因此,我开始对引脚的反转速度进行了一些测试。下面数据仅是我通过逻辑分析仪检测,如有偏差或错误的地方欢迎指出。

环境

  • STM32C8T6系统板,主频72MHz
  • 空载,代指只有反转引脚函数运行的环境
  • 下述提到的HAL库代码,都是基于STM32CubeMX生成的
  • '0’码,'1’码,我对WS2812时序电平的称呼,每个码都是有不同时长的高低电平组成的

检测

  • 标准库,上电默认的主频,空载

    高电平:200ns 低电平:380ns 周期:580ns

    在这里插入图片描述

  • HAL库,72MHz,空载

    高电平:375ns 低电平:292ns 周期:667ns

    在这里插入图片描述

  • HAL库,72MHz,函数中

    高电平:375ns 低电平:542ns 周期:917ns

    在这里插入图片描述

  • 总结

      通过上述测试截图以及我实际测试可以看出的是,引脚电平反转在空载的时候才能刚好满足220ns~380ns这个延时段,看似可以满足WS2812时序,但是别忘了发送时序的过程中,还有经历高低位的定位及电平判断之类的,无疑会延长上一个电平的时间,导致时序不是很标准,明显存在在误差,从我发的最后一张图就能看出来。

      我对WS2812的时序的函数上优化判断位,和减少不必要函数跳转等等上,却始终到不到标准时序要求,要么是’1’码标准了,程序时序对于’0’码来说就超时了,要么就相反。

  • 我的WS2812程序实际测到的时序

    '1’码:(低电平部分未满足,取值应当为220ns~380ns,过长了)

    在这里插入图片描述

    '0’码:(满足)

    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/707992.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Docker一键安装个人基础开发环境-MySQL、Redis、MongoDB

Docker Compose 在个人开发环境中,使用 Docker Compose 可以极大地简化和优化应用程序的部署和管理过程。 Docker Compose 的配置文件通常采用 YAML 格式,使其易于阅读和编写。我们可以在配置文件中指定所需的容器镜像、端口映射、环境变量、数据卷挂载…

张量分解中Tucker分解和CP分解的区别与联系

CP分解图示: Tucker分解图示: 两者的区别如下: 主要区别:核张量(core tensor) Tucker分解的结果会形成一个核张量,即PCA中的主成分因子,来表示原张量的主要性质,而CP分解…

【添加anaconda环境变量】

Win11操作系统,首先进入到编辑环境变量界面 分别添加以下这三个,保存。 最后关闭pycharm,重启,打开Terminal,输入conda --version,成功!

Linux删除文件夹时,报错“Error: EBUSY:resource busy or locked, unlink……”该如何解决?

目录 问题描述: 问题解决: 问题描述: 在linux上,想要删除一个文件夹,总是报错如下图,一直删除不掉。明明感觉自己并没有执行这个文件夹下的内容,却一直删除失败。 问题解决: 不得不…

如何在小程序中引入使用vant框架

一、vant框架 vantUI框架常用于移动端页面组件的基础库构建,为了让用户获得更趋向于原生的体验,它是一种相当不错的方案选择。 关于这个框架,它不仅有适用于移动端vue脚手架的版本,同时还存在可以兼容小程序开发的webapp版本。在…

业务逻辑一定要紧密执行,希望大家引以为戒!——记一次惨痛的教训【伸手党福利】【又是贷款上班的一天】

切记一定要先执行业务逻辑再进行其他操作! 程序员的教训 问题现象 后台传来报警,充值平台余额不足,发现大量充值记录。 分析 先看一下代码: 发起http的post请求,然后将返回体显示,并用logs记入日志&a…

STM32F4_nRF24L01无线通讯

目录 前言: 1. nRF24L01无线模块简介 2. nRF24L01状态机 3. nRF24L01模式 4. nRF24L01的SPI配置 4.1 nRF24L01 Rx 和 Tx 的初始化配置 4.2 nRF24L01相关寄存器 5. 硬件连接 6. 实验程序 6.1 main.c 6.2 NRF24L01.c 6.3 NRF24L01.h 前言: S…

10-切片是什么?【视频版】

目录 问题视频解答 问题 视频解答 点击观看: 10-切片是什么?

主成分分析系列(二)为何特征向量是主成分

在主成分分析系列(一)概览及数据为何要中心化这篇文章中介绍了PCA算法的大概想法及数据为何要中心化,在这篇文章具体推导PCA算法的过程。 1. 首先 PCA 最原始的想法是: 设 V \mathbf{V} V 为 d {d} d 维 线性空间(即…

单表-DQL

注意:这张图还包含了对于的顺序,先分组再排序,再分页,顺序不能乱 基本查询 # 1.基本查询 # 查询全部行 select * from tb_emp; select id, user_name, password, name, gender, image, job, entry_date, create_time, update_ti…

成本降低60%至70%?中国展现顶级电池技术,锂电就是下一个铅酸

在3月份,宁德时代宣布加速推进钠离子电池产业化,以降低成本并提供差异化产品和技术,帮助客户提升产品竞争力和占据更大市场份额。孚能科技已在上半年开始批量生产钠离子电池,而拓邦股份也在最近的国际电池技术展上发布了自家的钠离…

二、逻辑回归

二、逻辑回归1.线性回归2.分类问题1)二分类2)多分类 3.逻辑回归模型简介1)逻辑回归背景2)逻辑回归主要基于以下三个目的3)优缺点 4.逻辑回归原理1)构造函数(Sigmoid函数)2&#xff0…

阿里远程仓库环境安装

自己是做前端开发的,自己薅的阿里的三个月的免费的服务器,练练手。在安装环境的时候遇到一些坑,记录下来 获取到服务器之后我是通过Royal TSX工具远程连接的,作为一个前端可能想到先装一些基本的命令 介绍一些基本的命令&#xff…

Git学习笔记(二)

导航小助手 四、分支管理 4.1 管理分支 4.2 创建分支、切换分支、合并分支 4.3 删除分支 4.4 合并冲突 4.5 分支管理策略 4.5.1 分支策略 4.6 bug分支 4.7 删除临时分支 四、分支管理 4.1 管理分支 现在介绍一下Git的杀手级别功能之一:分支~ 理解分支&a…

解决:前端请求跨域问题

解决:前端请求跨域问题 问题一:Access to XMLHttpRequest at https://xxx/ICN40310000075_1687926884828.pdf from origin http://localhost:63342 has been blocked by CORS policy: No Access-Control-Allow-Origin header is present on the requeste…

valgrind检测内存泄漏、越界访问、野指针访问实验

前言 本次测试包括&#xff0c;检测无误的代码&#xff0c;检测内存泄漏&#xff0c;检测访问越界&#xff0c;检测野指针&#xff0c;检测访问已经释放(已经被free)的内存。 一 安装valgrind sudo apt install valgrind 二 无错误 #include <stdio.h> #include <…

leetcode:836. 矩形重叠(python3解法)

难度&#xff1a;简单 矩形以列表 [x1, y1, x2, y2] 的形式表示&#xff0c;其中 (x1, y1) 为左下角的坐标&#xff0c;(x2, y2) 是右上角的坐标。矩形的上下边平行于 x 轴&#xff0c;左右边平行于 y 轴。 如果相交的面积为 正 &#xff0c;则称两矩形重叠。需要明确的是&…

在图像上绘制图形

1.绘制直线 cv.line(img, (0, 0), (511, 511), (255, 0, 0), 5)2.绘制圆形 cv.circle(img, (256, 256), 60, (0, 0, 255), -1) 3.绘制矩形 cv.rectangle(img, (100, 100), (400, 400), (0, 255, 0), 5)4.向图片中添加文字 cv.putText(img, "hello", (100, 150), cv.F…

google浏览器如何把 develop tools 弹窗设置为一个单独界面

更改默认的弹出式窗口和重定向设置 在计算机上打开 Chrome。在右上角&#xff0c;依次点击“更多”图标 设置。依次点击隐私设置和安全性 网站设置 弹出式窗口和重定向。选择要设为默认设置的选项。 管理特定网站的弹出式窗口和重定向 https://support.google.com/ch…

自动备份Windows的环境变量

执行脚本 ECHO OFF set year%date:~6,4% set month%date:~0,2% set day%date:~3,2% set hour%time:~0,2% set minute%time:~3,2% set second%time:~6,2% set backupTime%year%%month%%day%_%hour%%minute%%second% set>>D:/IDE/databack/pc_path/environment-backup-%ba…