笔记
文章平均质量分 73
天外飞仙CUG
本科、硕士就读于中国地质大学(武汉),目前从事嵌入式软硬件方面的工作。公众号:嵌入式技术开发。欢迎关注。
展开
-
SDIO读写SD卡速度有多快?
STM32单片机,SDIO+DMA方式读写SD卡测试。原创 2023-03-14 15:37:06 · 5145 阅读 · 2 评论 -
STM32定时器实现红外接收与解码
STM32通过定时器输入捕获方式解码红外遥控数据。原创 2023-02-15 12:17:04 · 6082 阅读 · 0 评论 -
【开源项目】SFUD--通用串口Flash驱动库的移植和使用
由于现有市面的串行 Flash 种类居多,各个 Flash 的规格及命令存在差异, SFUD 就是为了解决这些 Flash 的差异现状而设计,让我们的产品能够支持不同品牌及规格的 Flash,提高了涉及到 Flash 功能的软件的可重用性及可扩展性,同时也可以规避 Flash 缺货或停产给产品所带来的风险。下载的源码中有个STM32F1xx的工程例程,使用的是标准库,这里改为HAL库,具体代码就不贴了,可在文章开始下载完整工程。如果使用的是QSPI,则需要编写下面这个函数:。原创 2022-12-14 15:37:43 · 1060 阅读 · 1 评论 -
【干货】STM32通过ADC模拟看门狗实现掉电保存
使用STM32CubeMx配置,通过ADC模拟看门狗实现掉电保存功能。无需任何外部电路。原创 2022-11-16 17:40:41 · 4862 阅读 · 3 评论 -
开源贴片机OpenPnp使用体验
OpenPnP贴片机使用体验原创 2022-11-07 13:03:15 · 6224 阅读 · 7 评论 -
单片机通过WIFI模块(ESP8266)获取网络时间与天气预报
单片机通过AT指令访问WIFI模块,获取网络时间和天气预报。原创 2022-10-22 14:57:04 · 10873 阅读 · 1 评论 -
盘点国产RISC-V内核的单片机
RISC-V就不必多说了,它是一个基于精简指令集的开源指令集架构。与主流的主流的架构为x86与ARM架构不同,其特点就是完全开源。今天跟大家一起盘点一下国产RISC-V内核的单片机。原创 2022-10-15 12:25:04 · 7212 阅读 · 0 评论 -
串口接收不定长数据的几种方法
以STM32单片机为例,介绍几种串口接收不定长数据的方法原创 2022-09-20 12:05:26 · 5860 阅读 · 4 评论 -
一个IO挂多个按键怎么实现?
有时候做设计时,我们会遇到外部按键比较多,IO口不够用的情况。当没有按键按下时,ADC的电压为3.3V,由于不同按键对应的分压电阻不同,所以不同按键按下时,得到的ADC电压也不同。理论上,上述两种方式都可以一个IO挂很多按键,但挂的越多,每个按键的分压后的电压就越接近,越不容易区分,导致误判。这种方式与上面的原理一样,但不同的是,这种方式不支持组合按键,且有按键优先级之分,当S8按下时下面的按键无效。设计时需要计算好每个按键的分压电阻阻值,使每个按键的分压值(包括组合按键)有较明显区别,便于ADC区分。..原创 2022-08-31 15:49:51 · 3416 阅读 · 0 评论 -
不会写Bootloader?看这里,现成的
前段时间要写一个BootLoader程序,想起来好像在STM32的HAL库里面看到过相关的Demo,打算参考一下。打开相关的目录看了一下,确实是有相关文件:但是没找到工程文件。没办法,那就自己百度吧,关键词OpenBootloader一搜索,发现这不是ST原创的,是一个开源的项目。简称OpenBLT,是一种开源引导加载程序,可以在任何微控制器上运行,并使用支持Usart、Can、USB、SD卡等多......原创 2022-08-29 08:00:55 · 906 阅读 · 0 评论 -
STM32固件IAP程序实现
1.写在前面IAP全称是In Application Programming,IAP是用户自己的程序在运行过程中对User Flash的部分区域进行烧写,目的是为了在产品发布后可以方便地通...原创 2021-01-27 20:03:24 · 407 阅读 · 0 评论 -
STM32F4内部Flash读写
之前的文章中介绍过STM32F0列的内部Flash读写《STM32CubeMX之内部Flash读写》,F1系列的也是一样的。而F4系列的单片机与F0和F1略有不同,HAL库对应的函数也不...原创 2021-03-01 14:07:18 · 3437 阅读 · 0 评论 -
STM32F4通过U盘升级程序
昨天的文章中介绍F4系列单片机的内部Flash读写,包括之前文章中介绍了FatFS文件系统读写U盘的操作。本篇文章就是将两者结合,实现F4系列单片机程序的U盘升级。首先对内部Flash空间...原创 2021-03-02 17:59:00 · 4660 阅读 · 6 评论 -
STM32HAL库移植FreeModbus协议(含源码)
Modbus是一个非常好用的通讯协议,经常用在串口通讯中,也可以用在网口。它既简洁又规范,尤其在工业中应用非常广泛。Modbus的程序实现也比较简单,用户可以自己实现,也可以移植开源的协议...原创 2021-02-22 12:04:03 · 2917 阅读 · 4 评论 -
远程升级单片机程序怎么设计?
之前的文章中介绍过串口和U盘的IAP程序设计。在物联网应用中,远程IAP升级MCU的程序是一项非常有用的功能。当设备出现程序问题或者需要更新程序时,只需要在服务器上对设备进...原创 2021-04-05 22:25:35 · 514 阅读 · 1 评论 -
STM32软件调用系统BootLoader
前言 大家知道,STM32单片机有一块系统存储器(System Memory),存储的是芯片自带的BootLoader启动程序,可通过串口或USB口等来升级程序。但是要运行自带的Boot...原创 2021-04-15 21:03:35 · 2506 阅读 · 4 评论 -
记一次买到假芯片的经历
一个多月前帮别人做了100块板子,发给客户测试后,发现不稳定(之前做的样板很稳定),用着用着485通讯就断了,但是我自己在家里测试一切正常。...原创 2021-05-28 16:12:03 · 1129 阅读 · 5 评论 -
国产MCU哪家强?
自从去年下半年8寸晶圆开始短缺,STM32单片机的价格开始疯长,有些型号甚至翻了十几倍。于是国内很多MCU厂家开始抓住机会,相继推出高性能、低价格的MCU对标ST。为了方便用户快速完成方案...原创 2021-03-04 17:11:08 · 10526 阅读 · 4 评论 -
几种内网穿透工具使用体验
在外网访问公司或家里的内网的电脑或设备时,都需要一个公网IP才行。比如WEB开发时、物联网设备传输测试、外网访问NAS等。但是,大家都知道IPv4时代公网IP资源紧张,大部分宽带用户都只能...原创 2021-03-11 22:47:16 · 1631 阅读 · 0 评论 -
步进电机S型曲线加速的实现
之前做电机相关的项目比较少,最近有个项目涉及到步进电机的精确控制,参考了一些资料研究了一下S型曲线加减速,这里总结一下分享给大家。硬件是:STM32+驱动器+步进电机。STM32定时器输...原创 2021-03-19 20:46:02 · 6143 阅读 · 5 评论 -
高分辨率=高精度?
做技术的对这两个名词一定不陌生,尤其是做传感器数据采集时,精度和分辨率是两个很重要的指标。然而经常有工程师,甚至多年工作经验的老工程师把这两个概念弄混。这里...原创 2021-03-27 09:58:58 · 1841 阅读 · 0 评论 -
STM32的硬件I2C有BUG吗?
坊间一直流传着一个传说~STM32的硬件I2C设计有BUG,最好不要用,用软件I2C比较靠谱。长久以来,为了不必要的麻烦,我也一直没有用过硬件I2C,主要是软件I2C也比较...原创 2021-05-04 21:23:50 · 4065 阅读 · 15 评论 -
热敏电阻测温
热敏电阻器主要分为 PTC 和 NTC。正温度系数热敏电阻器(PTC)在温度越高时电阻值越大;负温度系数热敏电阻器(NTC)在温度越高时电阻值越低,它们同属于半导体器件。 测...原创 2021-09-03 20:51:00 · 5288 阅读 · 0 评论 -
HK32航顺单片机RS485应用的一个BUG
芯片缺货的情况依然没有缓解,ST的单片机价格也是居高不下,最近的一个设计中,使用了航顺的一款单片机HK32F103C8T6,价格要比ST的便宜不少,硬件兼容,软件需要做少量改动,上手起来还...原创 2021-08-04 17:44:05 · 1545 阅读 · 3 评论 -
热电偶测温设计
1.什么是热电偶所谓热电偶是指由两种不同材质的金属导体构成的温度传感器。,主要用于工业行业的热电偶具有其特点:①响应速度快。②可进行-200℃到+1700℃之间大范围的温度测量。③可对特定...原创 2021-08-25 17:59:39 · 3055 阅读 · 0 评论 -
STM32的12位ADC过采样实现16位分辨率
1.什么是过采样过采样技术是一种以牺牲采样速度来提高ADC分辨率的技术。部分STM32单片机是支持硬件过采样的,如STM32G0系列。通过过采样,可以将12位的ADC提升到16位,非常...原创 2022-01-24 18:05:56 · 16714 阅读 · 10 评论 -
[经验分享]TL431的应用及其封装乱象
1.TL431线性稳压电源应用 TL431是一个非常常用的可调稳压源,因其性能好、价格低,因此广泛应用在各种电源电路中。今天就来介绍一下TL431组成的稳压电路。 其典型...原创 2022-01-28 17:35:01 · 5647 阅读 · 2 评论 -
TM1638驱动数码管的一点建议,附程序
年过完了,首先祝大家开工大吉! TM1638是一种带键盘扫描接口的数码管驱动芯片。可以驱动共阳极数码管或共阴极数码管,相比单片机直接驱动数码管的方案,可以省去很多单片机的端口,也不...原创 2022-02-10 17:10:00 · 3923 阅读 · 0 评论 -
怎样理解ADC的噪声、有效分辨率
一个24位的ADC,真正能使用的位数能达到24位吗?答案是否定的,由于器件本身噪声的存在,且噪声范围已经超过了ADC的最小分辨率。所以,基本上24位ADC都不能做到24位无跳动。...原创 2021-08-05 21:50:34 · 3332 阅读 · 0 评论 -
温度传感器都有哪些?
温度是生活中最常见的测量变量之一,因此测量它的方法有很多,包括接触式和非接触式。相应的传感器也有很多,今天就来简单分类介绍一下。1.红外温度传感器红外线是一种电磁波...原创 2021-08-03 16:24:35 · 11580 阅读 · 0 评论 -
VCC和GND短路,怎么找问题?
在调试电路时,可能经常会遇到VCC和GND短路的情况。板子上的VCC和GND点太多了,新手可能觉得不知道从哪找,下面就介绍几种方法,供大家参考。1.目测最简单的方法,先用...原创 2021-06-04 21:09:45 · 2621 阅读 · 0 评论 -
避坑速看,STM32G0系列多通道ADC的问题
STM32G0系列单片机是ST新推出的一个系列,基于Arm Cortex-M0 +内核,在严格的功率预算内提供出色的性能。目前来说相比F系列的,价格也比较实惠。但是新东西,就意味着资料相对...原创 2021-12-06 08:00:00 · 7827 阅读 · 4 评论 -
感性负载对电源的影响有多大?
我们平时接触到的感性负载很多,比如继电器、电磁阀、电机等,都是感性负载。电感线圈的电流不能突变,所以在感性负载断开时,会产生一个较高的反向电动势。在直流应用中,一般情况下,可以在负载两端并联一个二极管,形成续流回路,消除或降低反向电动势。 那么这个反向电动势的影响有多大,如果不做处理会怎样?今天就通过示波器来看一下。 以驱动电磁阀为...原创 2022-03-25 17:00:00 · 5739 阅读 · 4 评论 -
几种单USB转多串口的方案
串口(Uart)是嵌入式中非常常用的一种接口,然而现在的电脑都没有硬件串口。一般都是通过USB转串口或PCIE等总线扩展的方式扩展出串口。USB转串口是非常常用的一种。常用的USB转串口芯片有CH340/341、CP2102、PL2302等。但是这些芯片都是USB转单串口,如果需要多个串口,就需要占用多个USB口,比较麻烦。今天来介绍一下单USB口转多个串口的方案。1.专...原创 2022-04-19 08:00:00 · 4511 阅读 · 0 评论 -
嵌入式GUI盘点-你了解几款?
图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。GUI一般需要MCU有一定的硬件资源和处理能力,现在MCU资源越来越多,同时市场需求也增多了,GUI功能也越来越丰富了。下面来盘点嵌入式中常见的一些GUI。1.emWinemWin是由德国SEGGER公司开发,可为图形LCD设计提供高...原创 2022-04-20 08:34:26 · 5048 阅读 · 0 评论 -
为什么我问问题没人搭理我
相信很多人都有这种经历:遇到技术上的问题,在群里提问,没人搭理。。。为什么?大家都很忙,没人鸟你?有可能,但也有可能是你问问题的方式不对。我也是从菜鸟走过来的,也问过别人问题。现在有点经验了,也会有人问我问题,尤其做公众号以来,有很多人加我问微信,私下里或者群里问一些问题,有时候我也会耐心解答,有时候也很忙,没法一一解答,这里谈一下自己的感受~1.先学会查资料对于一些很简...原创 2022-05-13 15:59:00 · 355 阅读 · 0 评论 -
UART波特率对时钟精度的要求有多高?
串口通讯(UART)是一种异步通讯,收发双方需要按照约定的波特率进行通讯。当波特率出现误差时,会导致通讯出错。那导致波特率出现误差的因素都有哪些呢,今天就来分析一下。1.分频误差首先,波特率是根据系统时钟分频产生的,而系统时钟和波特率可能不是整数倍的关系,所以分频时也会产生误差。但是目前大部分MCU的系统时钟比较高,一般都在几十MHz,远远大于串口通讯波特率,所以这个误差...原创 2022-06-24 08:00:31 · 2989 阅读 · 0 评论 -
开源按键组件Multi_Button的使用,含测试工程
之前的文章中介绍过按键的处理方法《多功能(单击、双击、长按)按键设计》,今天再来分享另外一种方式:MultiButton。1.Multi_Button简介MultiButton 是Github上的一个开源的按键处理组件,作者0x1abin。GIthub地址:https://github.com/0x1abin/MultiButtonMultiButton一个小巧简单易用的...原创 2022-04-22 17:00:00 · 4967 阅读 · 3 评论 -
内部振荡器、无源晶振、有源晶振有什么区别?
单片机要运行起来,必须有一个时钟信号,就好像人的心跳。这个时钟信号可以由无源晶振提供,可以由有源晶振提供,目前大部分的单片机也集成了内部振荡器。今天就来聊聊这三者的区别。1.内部振荡器单片机内部集成的振荡器,一般为RC振荡器,好多人叫“内部晶振”,其实是不准确的。RC振荡器原理如下:其优点是实现的成本比较低,缺点是由于电阻电容的精度问题,所以RC振荡器的震荡频率误差较大,......原创 2022-06-25 19:00:51 · 2039 阅读 · 0 评论 -
GD32使用ST的HAL库和GD官方库的一些体会
GD32作为国产MCU里的佼佼者,产品线也比较丰富,是替代STM32的一个很好的选择。前段时间有个项目用到GD32的单片机,今天来说说使用的一些体会。1.硬件我用的单片机型号为GD32F405RGT6,对应STM32F405RGT6。首先,硬件上基本兼容,有一点不同的是GD32的31和47脚为NC,STM32的为VCAP。STM32这两个引脚需要分别连接一个电容到GND,......原创 2022-07-27 17:00:48 · 6852 阅读 · 4 评论