自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 收藏
  • 关注

原创 MFRC522--RFID读写器

纯AI,软件SPI纯AI,软件SPI。

2025-10-23 18:35:39 269

原创 SPI通信协议

空闲状态数据采样的时刻MISO。

2025-10-22 16:51:15 1181

原创 开漏、推挽输出前置知识

栅极(G):控制引脚。高电平导通、低电平截止;源极(S):接 GND(负)漏极(D):接高电位(如 VCC,正);输出引脚:漏极(D),导通时输出低电平,截止时输出高电平(需外部上拉)。1.栅极G都是接控制引脚2.漏极D都是接入负载3.PMOS的源极S是VCC,NMOS的源极S是GND4.PMOS的漏极D是GND,NMOS的漏极D是VCC。

2025-10-21 20:41:24 649

原创 开漏输出和推挽输出

对比维度开漏输出(Open-Drain)推挽输出(Push-Pull)输出级结构仅含 1 个 NMOS 管(下拉管),PMOS 管永久禁用含 PMOS(上拉管)+ NMOS(下拉管),两者互补工作上拉电阻需求必须外接(否则高电平时输出浮空,无法稳定)无需外接(PMOS 直接驱动高电平)高电平驱动依赖外部上拉电阻(如接 VDD),属于 “被动拉高”PMOS 主动导通,直接将输出拉至 VDD,属于 “主动推高”驱动能力仅支持灌电流(低电平时),高电平驱动能力由上拉电阻决定(电阻越大,能力越弱)支持。

2025-10-21 16:59:54 976

原创 UART串口通讯协议

串行传输,低位先行。帧传输。有校验位则9位一帧,无校验位则8位一帧。一秒钟能传输的bit个数。波特率 = 外设时钟频率÷ 分频系数 ÷16。外设时钟是指外挂载总线APB1或APB2的时钟,两者频率不同。要÷16是因为在读取数据时,一位bit需要16个时钟采样,来防止/判断噪音。所以÷16得到波特率,是为了保证系统时钟能够有足够快的频率,保证对每bit的传输都×16倍时间去检测,得到真正的一位bit发送接收时间。

2025-10-20 19:36:06 638

原创 MOS管简单入门笔记(主讲NMOS,PMOS不常用)

结构图如下,可知有NMOS、PMOS两种类型。结构:G、D、S三个部分。Gate栅极:控制级Drain漏极:主电路电流入口。电源正极所在。Source源极。:主电路电流出口。负载所在。(NMOS)单片机控制G端,给高就导通主电路D、S两端,给低的就断路D、S两端。

2025-10-01 20:58:06 660

原创 信号量(一)

作用:防止高级任务在等待低级任务释放互斥信号量的时候,因为中级函数打断低级任务进程,导致延迟了了高级任务工作的时间。原理是在高级任务等待低级任务的时候,如果用中级任务,就暂时让低级任务的优先级升为高级,等他执行完、释放了信号量后,再降回低级,保证高级任务的工作。也就是有没有释放某个信号量的权力,二值量允许别的任务释放信号,但是互斥量只允许获取了自身的函数释放。作用:同一时间只允许一个任务获取这个信号量,用于资源临界区。作用:控制资源允许多少个任务同时访问。作用:互斥量的削弱版。互斥量有,二值量没有。

2025-09-27 20:08:51 410

原创 任务创建(一)

【代码】创建任务freertos。

2025-09-25 21:53:17 382

原创 队列(一)

【代码】队列(一)

2025-09-25 21:49:45 130

原创 vscode壁纸插件(无主题修改)

2025-09-25 14:32:46 196

原创 安装社区版Qt

一定要勾选红框内容。

2025-09-24 21:58:06 261

原创 虚拟机不能和主机拖动文件

原因:ubuntu的桌面似乎只是一个显示界面,不具备文件管理操作,只需要打开主文件夹就可以把主机上的文件拖动到ubuntu,拖动了显示错误就跳过,没反应就一只拖。前提:虚拟机和主机之间的文本可以相互复制粘贴,但是文件却不行。

2025-09-22 09:53:03 119

原创 虚拟机ubuntu安装中文输入法

是的,。默认的 Ubuntu 虚拟机通常只预装了英文输入环境。;。Fcitx是 Linux 上最强大、最受欢迎的中文输入法框架之一,对 Qt 程序的支持非常好。

2025-09-19 21:24:13 553

原创 ESP32的烧录和执行流程

烧录代码的时候会检查GPIO0的电平状态(一)如果GPIO0是低电平,那就是下载模式,芯片会从串口接收新的固件程序然后存储在Flash中(二)如果GPIO0是高电平,就是正常运行模式,芯片会从Flash存储器中读取并执行已有程序(三)基于上述情况,ESP32的烧录其实是需要控制的电平的,但通过,其会自动模拟出“先拉低GPIO0再复位”的时序,从而自动进入下载模式。

2025-09-14 21:23:43 353

原创 esp32程序存储结构--自用笔记版

可能会有错误.....

2025-09-14 20:04:58 964

原创 ROM、RAM、FLASH、EEPROM

当前的传统ROM已经被FLASH替代了,但是还是习惯将单片机中存储程序代码的区域称为ROM区。当你看到单片机的数据手册上写着“64KB ROM”时,它实际上指的是64KB的Flash。,此时常用一块Flash扇区来模拟EEPROM的功能(称为Flash模拟EEPROM,此操作容易减少EEPROM使用寿命)。当你看到单片机的数据手册上写着“64KB ROM”时,它大概率指的是64KB的Flash。:非易失性存储器(掉电不丢失)。,但“ROM”这个名称被保留下来,习惯上仍将存储程序的区域称为ROM。

2025-09-12 09:26:17 408

原创 编译器的相关知识(入门时著)

这是预处理器的核心功能之一。它处理所有以#define定义的宏。// 头文件保护符:防止头文件被多次包含#ifndef MY_HEADER_H // 如果MY_HEADER_H未定义#define MY_HEADER_H // 则定义它,并包含以下内容// 头文件的真实内容...// 功能开关#define DEBUG_MODE // 注释掉这行即可关闭调试信息#else#define DEBUG_PRINT(msg) // 定义为空,编译后什么也不做#endif。

2025-09-11 22:10:41 1391

原创 《秋鳞小故事——编译器》

负责将作品推向全球(在不同CPU上运行)。(请注意分号“;”间隔,每个“;”代表一个功能的说明)

2025-09-11 21:17:43 547

原创 vscode终端新建esp32工程(附带idf指令无效说明)

这样就打开一个新窗口了。

2025-09-09 16:42:31 292

原创 wsl自动识别和附加串口

1.先打开vscode进入wsl环境,然后插上esp32设备。使用连接串口的程序将连接程序直接下载放在桌面,程序1mb不到,不需要担心占用内存。1.先打开vscode进入wsl环境,然后插上esp32设备。

2025-09-09 11:23:24 336

原创 windows11备份系统盘

U盘的读写速度,尤其是普通U盘,远低于机械硬盘(HDD)和固态硬盘(SSD)。在漫长的备份过程中,如果U盘连接出现任何不稳定,都可能导致整个备份失败。创建一个150GB的映像文件通过USB 2.0的U盘可能需要。,整个过程非常缓慢,且长时间稳定的读写对U盘寿命是考验。

2025-09-08 20:52:39 369

原创 idf-esp32 PWM呼吸灯(LEDC头文件)

esp32的ledc库专门负责PWM信号的生成。二:然后配置定时器的PWM输出到哪个引脚。一:先配置目标PWM的参数。三:编写呼吸灯的渐变。

2025-09-07 14:48:45 243

原创 idf-esp32 | 打印task列表

configUSE_STATS_FORMATTING_FUNCTIONS(启动信息状态功能)configUSE_TRACE_FACILITY(启动追踪设备)ipc1和ipc0就是两个cpu之间的进程通讯任务​​​​​​​。IDLE1和IDLE0就是两个CPU的看门狗任务。其中main就是主函数任务。就可以看到打印的任务内容。

2025-09-06 17:38:54 167

原创 idf--esp32的看门狗menuconfig

下面是panic的一些设置,比如触发panic中断之后的行为,其中默认是打印并重启。

2025-09-06 17:13:15 216

原创 日志打印--idf的esp32

下面是修改路径,注意直接搜log首先看到的是Bootloader config的,不是程序工作的。

2025-09-03 21:22:29 375

原创 基础看门狗--idf开发esp32s3

下面是没有喂狗的情况,日志的5266就是5.266s的意思,也就是长时间没有喂狗的提示,任务i默认喂狗时间是5000ms左右,也就是5s,第一次的日志打印时间不是这个时间,是因为程序的启动耗时。idf的esp32自带freertos任务,如果main函数中使用了while(1),则需要在程序中定时喂狗或延时,以此释放cpu处理其他隐藏任务,也就是自带的喂狗任务。针对方案一,最简单的理解就是基于freertos,如果阻塞了当前的程序,cpu就会从当前任务脱身,去执行别的程序,这别的程序就包括喂狗程序。

2025-09-03 20:45:50 211

原创 idf修改串口相关的参数

之后的终端对esp32的烧录打印和监视都是基于USB,而这个的配置也就不再参与串口的配置,需要通过代码进行配置。选择USB CDC就可以释放一个串口,将UART0释放出来用来配置。选择成coustom UART,之后就可以修改目标参数。打开menuconifg,在uart相关的参数中修改。

2025-09-03 20:24:09 135

原创 vscode的ws环境,esp32s3连接wifi

esp32-s3 IDF 连接wifi

2025-08-14 16:46:09 373

原创 vscode的wsl环境,ESP32驱动0.96寸oled屏幕

OLED使用到了espidf官方提供的iic库,所以REQUIRES (依赖)需要包含 driver(设备)

2025-08-14 16:31:49 438

原创 Vscode的wsl环境开发ESP32S3的一些问题总结

这是因为没有打开监视monitor,打开监视monitor之后就有了。黄框是打开监视,监视当前串口设备,也可以选择白框的火苗操作(一键构建build、烧录flash、监视monitor),烧录完后就会自动打印日志啥的。一、终端不会打印日志(ESP32不需要重定向printf到串口,打开监视monitor就行)

2025-08-14 16:22:57 369

原创 vscode新建esp32工程,没有sample_project怎么办?

原因是get-started中并没有sample_project,这需要自己添加。

2025-08-11 20:53:07 489

原创 vscode的wsl环境,怎么打开linux盘的工程?

刚配置完wsl环境,但是不知道怎么打开linux盘下的工程,直接拖到桌面的vscode发现会缺失东西,然后报错。那是因为代码是linux环境的,直接拖到windows环境就是会有问题。选择自己的目标路径,然后选择对应的工程。1.打开空窗口,远程连接wsl。以下是正确打开工程的方法。就可以正常打开工程了。

2025-08-11 20:40:04 268

原创 (二)vscode搭建espidf环境,配置wsl2

所以sudo apt update就是类似于让电脑逛一下超市知道上新了哪些东西,而接下来的espidf官方文档的指令就是购买东西,原先没逛超市所以不知道想买的东西的版本和内容,现在逛过了就可以知道慕想买东西的内容了,就可以运行下方指令了。(目前没有自定义源则是只更新官方源,也就是更新当前软件工具的最新链接啥的,如果不先更新软件源,而是直接输入下面的代码,就会出现无法定位的情况(如下图))(从超时买东西,从软件源中下载自己需要的软件)(复制指令后右键鼠标就会粘贴到ubuntu的窗口)

2025-08-11 19:27:49 1419

原创 windows直装!vscode搭建espidf环境

【代码】(一)vscode搭建espidf环境。

2025-08-11 15:09:54 341 1

原创 学习中的杂项知识

write。

2025-08-10 17:59:35 179

原创 初识电机篇

1.答:42步进电机是一种步进电机的规格型号,其名称中的“42”指的是电机机座的尺寸为42mm×42mm(方形法兰尺寸)。这种电机通常输出扭矩适中,广泛应用于3D打印机、CNC机床、自动化设备等领域。

2025-08-10 17:59:12 482

原创 HAL库的串口

特性普通轮询(Polling)中断(IT)DMA工作原理CPU 阻塞等待数据收发完成数据收发完成后触发中断回调硬件自动搬运数据,空闲中断触发回调函数示例(发送)函数示例(接收)或(推荐)CPU 占用高(完全阻塞)中(中断响应时间)极低(仅初始化时占用)实时性差高最高(后台自动传输)重启接收不需要需要(在回调中手动调用需要(在回调中调用中断配置无需开启 UART 全局中断(NVIC)需开启 UART 空闲中断 + DMA 中断关闭半传输中断无无需要(调用适用场景单任务调试、简单指令。

2025-07-18 14:50:03 1025

原创 keil5识别不到正点原子的探索者stm32f407vgt6

其实是电压不足导致的,接上电源线或者typec都可以,比较stlink只是传输数据的,不负责供电。接上typec(串口)就可以识别到,误以为stlink要和串口一起使用。

2025-07-05 10:15:52 128

原创 安装STM32 ST-LINK Utility v4.6.0,显示由于找不到 mfc140.dl,无法继续执行代码,重新安装程序可能会解决此问题

在安装STM32 ST-LINK Utility v4.6.0时,安装程序先会显示然后remove完成后再安装,安装成功但是无法打开,每次打开都会显示“由于找不到 mfc140.dl,无法继续执行代码,重新安装程序可能会解决此问题”

2025-07-04 17:46:14 374

原创 CubeMax配置串口通讯

答:串口通讯(Serial Communication)是一种按位(bit)逐次发送和接收数据的通信方式,仅需少量信号线(如 TX、RX、GND)即可实现设备间数据传输。特点:异步传输:无需共享时钟信号(CLK),依靠波特率(Baud Rate)同步。数据帧结构:由起始位(Start Bit)、数据位(5-9 bit)、校验位(可选)和停止位(Stop Bit)组成。简单可靠:适合低速、长距离通信(如工业控制、传感器数据采集)。答:串口通信协议可分为物理层标准(硬件接口+电平规范)和协议层规范(数据帧格

2025-06-17 22:23:36 1097

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除