![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
文章平均质量分 85
小飞哥玩嵌入式
公众号:嵌入式实验基地
展开
-
hex文件详解及常用合并方法介绍
前言在很多复杂的系统中,或者多人参与设计的系统中,程序分区必不可免,拿最简单的IAP升级来说,包含两个程序区,BOOT区和APP区,BOOT区的主要职责是引导代码进去APP区执行目标功能,但是在下载的时候,往往提供一个hex文件即可,提供两个分别下载当然也可行,但是生产过程中增加一个工序就是一个工序的价格,再说了,完全没必要,这就涉及到了本章介绍的hex文件合并(BIN文件当然OK的)什么是hex文件hex文件格式是可以烧写到单片机中,被单片机执行的一种文件格式,生成Hex文件的方式有很多种,可原创 2022-03-25 19:57:29 · 8735 阅读 · 1 评论 -
还不懂函数回调机制,看这篇就够了
什么是回调函数友情提示:原理介绍部分摘自:https://www.jianshu.com/p/2f695d6fd64f有一定基础的直接跳过即可,直接查看后面精彩部分...回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。一幅图来说明什么是回调:结合这幅图和上面对回调函数的原创 2021-12-05 10:41:15 · 799 阅读 · 0 评论 -
辛苦加班设计的电路板刚上电就挂了
前言 小伙伴们有没有经历过辛辛苦苦,加班加点设计的PCB,终于发出去制版了,接下来焦急并且忐忑地等待回板,焊接,验证,一上电,挂了...自己费力不讨好且不说,耽误项目周期才是心头大事,又开始紧急的排查,找问题...最终发现,是打过孔,地线跟电源搞一起去了,但是在做DRC检查的时候却没报错。难道去怪PCB设计软件的锅,没人会理的,为什么别人用都没问题,一把辛酸泪,费力不讨好。 那么除了PCB设计软件的规则检查之外,还能怎么办?总不能一根线、一个过孔去查看吧。答案当然是否定的,既然你出了这样的问题,原创 2021-06-20 09:18:46 · 514 阅读 · 1 评论 -
在VScode 中使用RT-Thread Studio初体验
前言工欲善其事,必先利其器,VScode是什么东东,想必大家都非常熟悉了,丰富的插件,有好的开发界面,是很多程序开发者的不二之选,RT-Thread竟然也开发了Vscode插件,真的是非常的nice啦,接下来小飞哥就带大家一起来看看,RT-Thread工程在vscode中如何开发。安装Vscode用久了各式各样的破解软件,心里是不是又有一点小担心,这个软件怎么破解?小伙伴们不用担心,Vscode是免费的并且不需要破解的,当然了,有些插件是需要付费的,一般也很少用。在下面连接中下载即可,选择自原创 2021-06-20 09:15:53 · 3088 阅读 · 1 评论 -
编译后的程序内存分布
一般 MCU 包含的存储空间有:片内 Flash 与片内 RAM,RAM 相当于内存,Flash 相当于硬盘。编译器会将一个程序分类为好几个部分,分别存储在 MCU 不同的存储区。Keil 工程在编译完之后,会有相应的程序所占用的空间提示信息,如下所示:...转载 2021-06-10 18:58:29 · 314 阅读 · 0 评论 -
HAL库与Cubemx系列|Systick-系统滴答定时器详解
Systick是什么?关于Systick,在Context-M3权威指南中如此描述:SysTick定时器被捆绑在NVIC中,用于产生SYSTICK异常(异常号: 15)。在以前,大多操作系统需要一个硬件定时器来产生操作系统需要的滴答中断,作为整个系统的时基。例如,为多个任务许以不同数目的时间片,确保没有一个任务能霸占系统;或者把每个定时器周期的某个时间范围赐予特定的任务等,还有操作系统提供的各种定时功能,都与这个滴答定时器有关。因此,需要一个定时器来产生周期性的中断,而且最好还让用户程序不能随意访问原创 2021-06-09 23:47:47 · 6430 阅读 · 3 评论 -
开源电路分享のFalling Star Board
设计初衷 想自己做个能连网的时钟,结合RT-thread,显示个天气预报什么的,想想就挺有趣的。考虑到当前的芯片价格,和后续的设计,万一还有个啥奇妙的想法呢,就把这个做成了核心板。 一开始就只做了最小系统板,啥都没有。发现调试不方便,打印信息啥的我都得接线,很费劲,就直接加了个ST LINK,ART-PI提供了一个固件挺好用,带虚拟U盘和虚拟串口。 既然打算做个小屏幕显示图片,加个SD卡,那不想显示啥,就把图片存里面进行加载呗。通过SD卡升级程序也可以啊,更换固件很方便呀,后面发现,能联网原创 2021-06-09 13:50:03 · 532 阅读 · 0 评论 -
循环队列原理及在单片机串口通讯的应用(二)
前言 书接上回,前文主要介绍了环形队列的实现原理以及C语言实现及测试过程,本文将回归到嵌入式平台的应用中,话不多说,淦,上干货!实验目的 HAL库下串口的配置及使用 环形队列在串口数据接收中的使用 硬件环境 falling-star board(自设计,下期开源资料,主控STM32f103RET6) 软件环境 keil5 cubemx cubemx配置1、 时钟的配置, 无论什么平台,什么单片机,第一步,我想都是要搞清楚时钟,时钟是一原创 2021-06-09 13:47:25 · 1069 阅读 · 0 评论 -
循环队列原理及在单片机串口通讯的应用(一)
前言 当代码,不再是简单的完成需求,对代码进行堆砌,而是开始思考如何写出优美代码的时候,我们的代码水平必然会不断提升,今天,咱们来学习环形队列结构。环形队列的基本概念 相信对数据结构有过接触的小伙伴,对队列肯定不会陌生,队列相对来说是比较简单的数据结构,典型特点是FIFO,即First in First out,先进先出,就像我们日常排队买票一样,先到的人先买票,先从购票口出去,从下面的图中,可以比较形象的了解队列的特性。 用数组创建一个普通队列,当有数据存储时,队列尾指针不断增加,原创 2021-06-09 13:46:05 · 1626 阅读 · 0 评论 -
如何对vscode添加右键打开文件夹功能
Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\*\shell\VSCode]@="Open with Code""Icon"="C:\Users\Wyf\AppData\Local\Programs\Microsoft VS Code\\Code.exe"[HKEY_CLASSES_ROOT\*\shell\VSCode\command]@="\"C:\Users\Wyf\AppData\Local\Programs\Micro.原创 2021-06-04 10:06:26 · 418 阅读 · 0 评论 -
HAL库与CubeMX系列|Cubemx新建HAL库工程
前言 工欲善其事,必先利其器。HAL库的开发不一定必须使用cubemx,但是使用了cubemx,你绝对不会后悔。基于一些小伙伴对cubemx的使用还有一些疑问,本次小飞哥从新建工程到生成工程,编写应用代码,和大家一起聊一聊到底该如何使用这个神器。本次是建立在已经安装好cubemx的情况下,错误之处还请多多指教。1、cubemx总体界面介绍 选择控制器MCU/MPU,有4个选项,一般小飞哥最常用的是第一个和第四个,第三个主要是没有对应板卡,可以快速找到自己用的MCU。 通过板子选原创 2021-06-03 23:52:51 · 1433 阅读 · 0 评论 -
矩阵键盘的“一厢情愿”与“两情相悦”
前言 日常设计中,不可避免的会使用到按键,像我们常见的 POS 机、计算器等设备用到的按键是非常多的,如果采用普通的 1 个 IO 1 个按键的设计方法,显然对单片机资源来说是非常浪费的,所以采用类似矩阵的设计思路,能够大大减少 MCU IO 的使用,也是我们所说的矩阵键盘。应用场景一、矩阵键盘的两种扫描方式 矩阵键盘常用的有以下两种扫描方式,相比较之下,小飞哥更推荐第二种扫描方式,第二种扫描方式能够更有效地避免错误按键,本次分享的也是第二种扫描方式的代码。 逐行扫描:高四位输原创 2021-06-03 10:09:57 · 197 阅读 · 0 评论 -
智能车电源设计
前言 经常玩智能小车的朋友们,福音来了,今天介绍一款很不错的电源管理板-不死鸟,集过压、过流、过温、反接等保护于一身,尽管折腾,自救能力极强。来自公众号群友的设计,已经打板验证。主要功能模块 自锁电路 电压检测/电池识别 快充输出 降压输出 过放保护 过流保护 过温保护 程控参数 不死鸟板说明 主控:STC15W408AS 频率:24MHZ 波特率:9600 ADC采样:12位..原创 2021-05-06 19:23:36 · 1849 阅读 · 0 评论 -
LVGL在STM32上的移植及触摸驱动移植(触摸屏控制版)
前言 在日常的开发中,涉及到用户显示界面控制的时候,如何快速、优美的设计一款用户UI,是攻城狮应该具备的能力(择偶优先权),如何把嵌入式UI设计像高级语言图形化设计一样简便、快捷,今天重磅介绍一款GUI设计开源库,LittleVgl,俗称LVGL,来吧,直接上干货,淦!硬件环境 STM32F407ZGT6(或者其他板子) 2.4寸TFT电阻式触摸屏 软件环境 keil5 lvgl软件源码 正点原子触摸屏例程 注:以上只是小飞哥使用的环境,其他原创 2021-04-25 16:49:54 · 7453 阅读 · 1 评论 -
QT Creator平台运行LVGL模拟器
点击上方「嵌入式实验基地」,选择「置顶公众号」第一时间查看嵌入式笔记! 来这里,还可以学习HAL库的使用哦 哈喽,小伙伴们,日常设计中,当有显示屏的时候,UI的设计不可避免,如何快速设计出优美的界面呢,本次给大家分享一个开源的UI图形库,Littlegui(LVGL),目前有很多优美的开源例程,用起来还是非常便捷的,本次主要给大家介绍如何在QT平台上实现LVGL的设计效果模拟,是可以直接移植到嵌入式平台的。1、开发环境及组件 QT Creator ...原创 2021-04-18 19:47:06 · 2180 阅读 · 0 评论 -
常用数字、模拟量输出传感器原理介绍
哈喽,大家好,本期小飞哥带来的是常用的数字量输出传感器的原理与使用说明,希望能对伙伴们有帮助!实现目标:了解常用传感器的原理实现,达到举一反三的效果,学会如何操作;硬件准备:声音传感器(或者其他同类传感器)LED灯单片机(STM32F103C8T6或其他)软件:keil5先来介绍几款我们在DIY小玩意的时候经常用到的几款传感器:一、常用传感器认识 1、声音传感器 声音传感器,在某宝很容易找到,一般有4线制,三线制,主要区别是4线...原创 2021-04-13 19:30:52 · 10308 阅读 · 3 评论 -
基于STM32 HAL库硬件SPI的ST7789驱动(TFT-LCD 240*320)
点击上方「嵌入式实验基地」,选择「置顶公众号」第一时间查看嵌入式笔记! 在日常开发项目中,显示屏是经常使用的一个部件,显示屏的种类也是多种多样,但对于开发者来说,主要关心的是显示屏所用到的驱动芯片,本次给小伙伴们带来的是 STM32 下的 HAL 库硬件 SPI 驱动 320*240 分辨率的 TFT-LCD,LCD 显示屏驱动芯片为 ST7789,一步步实现如何驱动此类驱动芯片的 LCD 屏幕,话不多说,上干货! 完成目标 1、cubemx配置硬件SPI2、驱动240*320...原创 2021-04-13 19:21:37 · 10636 阅读 · 11 评论 -
天气太冷不想出被窝?来DIY一个离线语音控制器
天气太冷不想出被窝?来DIY一个离线语音控制器 点击上方“Embeded小飞哥”,选择“置顶/星标公众号” 干货福利,第一时间送达!成就一番伟业的唯一途径就是热爱自己的事业。如果你还没能找到让自己热爱的事业,继续寻找,不要放弃。跟随自己的 心,总有一天你会找到的。 ——乔布斯 你去关灯,你去,你去,。。我去。。小伙伴们有没有在天气寒冷时候,想去关灯,却离不开心爱的被窝的经历呢,有的话,跟着小飞哥一起来DIY一个离线语音控制器,有了它,我们原创 2021-02-10 20:39:37 · 2665 阅读 · 3 评论 -
基于STM32的HC-SR04超声波测距模块实验
硬件环境STM32F407探索板(其他开发板皆可以)HC-SR04超声波模块软件环境KEIL5CUBEMX串口调试助手(sscom或其他)实验目标 了解HC-SR04超声波模块工作原理 实现超声波模块测距 1、超声波模块介绍1.1 超声波测距原理及系统组成超声波测距是借助于超声脉冲回波渡越时间法来实现的。设超声波脉冲由传感器发出到接收所经历的时间为t,超声波在空气中的传播速度为c,则从传感器到目标物体的距离D可用下式求出:D = ct/2,图 2是相应原创 2021-02-10 09:20:07 · 7069 阅读 · 2 评论