- 博客(157)
- 资源 (10)
- 收藏
- 关注
原创 编程基础 --高内聚,低耦合
高内聚让每个模块成为一个“责任明确的专家”,低耦合让这些专家通过“标准化的合同(接口)”协作,而不是互相干涉内部事务。从你手头的项目挑一个耦合最严重的“上帝文件”,用这个原则重构一次,体会会特别深。
2026-06-16 23:49:02
215
原创 单片机开发--PWM频率和占空比与喇叭(无源蜂鸣器)音调和响度的关系
改变PWM频率占空比固定50%,只调频率:音调变化,音量基本不变。例:200Hz→1kHz→4kHz,声音从低沉变尖锐。改变PWM占空比频率固定不变,只调占空比:音调不变,仅音量变大/变小。例:1kHz下10%小声、90%大声。
2026-06-15 23:08:53
354
原创 单片机基础知识---stm32单片机的优先级
STM32中断分抢占优先级(控制能否嵌套打断)+子优先级(同抢占时排队顺序),先全局划分优先级分组,再给每个外设中断分配两层数值;数字越小优先级越高。
2026-06-14 16:16:04
268
原创 Makefile(四)--gcc 和gdb
你写代码gcc 编译代码生成 exe 运行gcc 就是C 语言的编译器,是写 C 语言必须有的工具。你现在已经装好了,完全能用 ✅GCC = 编译 → 生成 exeGDB = 调试 → 找 bug写代码必须用 GCC代码出错必须用 GDB它们俩就是 C 语言的左膀右臂✅。
2026-04-23 23:30:25
401
原创 Makefile -GNU和MakeFile关系(二)
GNU= 开源软件项目组织提供了等核心工具你编译 GD32 代码、用 Linux 命令,都在依赖它GNU 做了 GCC 和 make;Makefile 告诉 make 怎么编译;make 调用 GCC 把代码变成固件。画一张极简关系图,一眼看懂整个编译流程。这张图一眼看懂所有关系,看完再也不会乱👇GNU是“爸爸”,生了GCC、make这些工具。Makefile是“菜谱”,写好怎么编译。make按菜谱,指挥GCC炒菜,最后烧出单片机固件。
2026-04-11 15:43:55
381
原创 单片机基础知识 -- TFT-LCD(二)
/ 1. 同步信号参数(HSYNC/VSYNC)// 同步信号极性配置// 水平同步周期 HSYNC// 水平后沿// 水平前沿// 垂直同步周期 VSYNC// 垂直后沿// 垂直前沿// 2. 输出控制// 像素时钟极性// DE 使能信号极性// TLI 输出使能// 3. 背景颜色(没有图层时显示的底色)// 背景 R// 背景 G// 背景 BTLI 控制器全局配置LCD 屏幕时序同步信号极性时钟/DE 信号背景颜色开关显示输出它是。
2026-04-11 15:12:21
487
原创 excel操作 ---删除空行
数据规整、有空列也不怕全选数据(Ctrl+A「数据」→「排序」→ 选任意列(升序/降序)空行会全部排到最下面选中底部所有空行 → 右键删除。
2026-04-01 17:23:22
150
原创 keil编译器配置 -- Enable ANSI integer promotion rules
(Keil C51 中对应INTPROMOTE。
2026-04-01 10:55:46
228
原创 C语言基础 ---有符号和无符号数的相加减
无符号数相减 ≠ 普通减法:小减大会回绕成大数;永不产生负数:结果永远是0 ~ 最大值;避坑核心:需要负数结果时,强转为有符号数再计算。先记住 1 个铁律(C 语言核心)当不同类型一律先转成 无符号数,再计算!(只要式子中有 unsigned,所有数都会变成 unsigned)只有 有符号−有符号 → 正常算只要式子出现 无符号 → 全部变无符号无符号运算 → 永远不会是负数,小减大会变成巨大数。
2026-03-25 14:40:10
428
原创 单片机基础知识 -- ADC 相关概念理解
ADC 内部数字逻辑复位信号只复位 ADC 里面的数字控制部分(状态、计数器、转换流程)让 ADC立刻停止当前转换,回到初始空闲状态不关电、不影响模拟电路,不是为了省电,是为了恢复正常ADC:模数转换模块(把电压转数字)GCR1:Global Control Register 1(全局控制寄存器1)掉电使能让ADC进入低功耗/断电状态的开关位UM800Y的ADC_GCR1掉电使能位,就是ADC的“电源总开关”写1= 关掉ADC、最省电写0= 打开ADC、可工作。
2026-03-18 11:28:53
324
原创 单片机基础知识 -- TFT-LCD
TFT-LCD = 单片机彩色屏幕原理 = 控制像素点颜色使用 = 初始化 + 画点 + 显示内容特点 = 彩色、清晰、速度快、好用。
2026-03-14 14:38:02
352
原创 单片机基础知识 -- 大端模式 与 小端模式
大端:高位在前,和人看书一样小端:低位在前,和人反过来这完全是由 UM800Y 芯片的内核架构决定的。它使用的是 1T 8051 内核,完全兼容传统 8051 的指令代码。而标准的 8051 架构在处理多字节数据(如 16 位的地址和 int 类型)时,采用的是大端格式。
2026-03-14 10:39:40
537
原创 单片机基础知识 -- 普通推挽和复用推挽模式
控制主体不同:普通推挽由CPU直接控制GPIO寄存器,复用推挽由外设(如USART/TIM)接管引脚控制权。使用场景不同:普通推挽用于通用IO输出,复用推挽用于外设功能输出(串口、PWM、SPI等)。操作方式不同:普通推挽通过控制电平,复用推挽只需配置外设,由外设自动驱动引脚。简单来说,复用推挽模式就是“把引脚的控制权交给外设”,而普通推挽模式是“CPU自己直接控制引脚”,这是两者最核心的区别。
2026-02-27 14:47:57
479
原创 C语言基础知识 -- BCD码
BCD码(8421):**4位二进制表示1位十进制(09)**,10101111是无效码;非压缩BCD(1字节存1位,高4位补0)、压缩BCD(1字节存2位,高4位十位,低4位个位);解决二进制存储和十进制交互的衔接问题,适合嵌入式硬件/显示场景;和普通二进制的区别:BCD码是编码拼接,普通二进制是权值运算;你之前的函数:把0~255的三位十进制数,拆成「百位(非压缩BCD)+ 十位个位(压缩BCD)」,存入两个连续字节。
2026-02-02 13:57:29
825
原创 单片机基础知识 -- ADC分辨率
n位分辨率 = 把满量程电压切成(2^n)等份,位数越高,切得越细,能识别的最小电压变化越小;1LSB(最小可分辨电压),工程中用这个值判断分辨率是否满足需求;实际:单片机内置ADC以12位为主流,高分辨率(16位)多为外置,且需硬件匹配;避坑:分辨率是理论精细度,不等于实际测量精度,高分辨率需做好硬件设计和校准才有用。
2026-01-30 10:16:11
698
原创 单片机基础知识 -- HADDR
对于STM32的软件开发/硬件设计人员来说,HADDR的存在是底层硬件细节,我们完全不需要主动操作它,总结下来:✅ 开发代码时:你只需要通过「寄存器地址」「库函数」「HAL库」操作外设/内存即可,编译器和STM32硬件会自动把你的操作,转换成HADDR的地址传输和数据总线的数据传输;✅ 硬件设计时:你不需要为HADDR预留任何引脚/电路,它只在芯片内部工作;✅ 调试时:你只需要关注“访问的地址是否正确”,无需关注HADDR的传输过程。
2026-01-14 11:11:33
502
原创 SRAM 芯片容量计算及常见型号速查表
IS62WV51216 的总容量为 1MB(字节),计算核心是拆解型号中的关键参数,结合 SRAM 容量计算公式推导。16:代表 SRAM 的数据宽度(即每个存储单元的位数),单位是 bit,即每个存储单元可存储 16 bit 数据。注:表中型号均为 IS62WV 系列通用型号,不同厂商同规格型号命名规则类似,可按相同方法计算容量。若型号后缀带“-35”等数字,代表的是芯片的访问速度(如 35ns),与容量无关。512:代表 SRAM 的存储深度(即字数),单位是 K(总容量(Byte/KB/MB)
2026-01-14 08:47:19
516
原创 C语言基础知识--运算符优先级
C语言运算符优先级共15级,1级最高,15级最低,同级看结合性;()> 单目 > 算术 > 关系 > 相等 > 位运算 > 逻辑运算 > 三目 > 赋值 > 逗号;
2026-01-13 10:00:17
1452
原创 单片机基础知识 -- 各显示屏差异对比
屏幕内部布满微胶囊,胶囊内有带正电的白色颗粒和带负电的黑色颗粒;通过施加不同极性的电压,控制颗粒移动到胶囊顶部/底部,利用LED二极管的单向导电特性,通电发光;点阵屏由大量LED像素点组成,数码管由7~8段LED组成固定字形。背光模组(LED或CCFL)提供光源,液晶层负责“开关”光线,实现明暗显示。,原理和特性差异极大,适配的嵌入式/电子工程场景也完全不同。通过控制不同像素的亮度和颜色,实现彩色显示。墨水屏(电子纸)、LED、LCD、OLED 是四类。形成黑白(或多色)显示,这里分两种常见形态,
2026-01-12 16:26:58
1252
原创 嵌入式软件开发基础知识 -- 常见的预处理指令及使用场景
核心作用:定义宏、取消宏,是单片机里定义引脚、常量、简化代码的核心指令,没有之一。最基础、最常用的指令,用来定义符号常量、引脚别名、功能标识。// 单片机经典用法1:定义引脚(51单片机)// 经典用法2:定义常量(避免魔法数字,改值只需改一处)8009600// 经典用法3:定义功能开关(配合你学的#ifdef使用)11。
2026-01-12 11:41:27
883
原创 单片机基础知识--数码管的显示
段选 = 控制数码管的段引脚电平通俗讲:段选的核心作用是告诉所有数码管「你们要显示0还是1、2、3…9」专业讲:通过给段引脚(a~g、dp)赋值对应的段码(比如共阴0x3F=显示0,0x06=显示1),确定数码管要显示的数字/符号,段码变,显示的数字就变。段选是「全局生效」的,一个段码信号,所有位的数码管都能接收到。位选 = 控制数码管的位引脚电平通俗讲:位选的核心作用是告诉所有数码管「你们中,只有第X位可以亮,其他位都熄灭」
2026-01-12 09:24:59
1110
原创 嵌入式DFMEA模板表格
DFMEA 是的缩写,中文译为,是嵌入式、电子工程等工业领域的核心可靠性分析工具,目的是,避免产品量产或投入使用后出现故障。
2026-01-09 11:38:25
1310
原创 嵌入式开发中电阻屏和电容屏
核心差异:电阻屏靠压力导通(精准、低成本、单点),电容屏靠静电感应(便捷、多点、高成本),工业场景优先电阻屏,消费类优先电容屏;开发核心:电阻屏需做ADC采样+坐标校准,电容屏需对接专用触控IC+解析多点数据;关键要点:电阻屏重点解决校准和防抖,电容屏重点解决抗干扰和多点解析,最终都需与GUI库对接传递触摸事件。
2026-01-08 14:08:18
1006
原创 墨水屏电子书品牌对比
根据当前的行业报告和市场信息,虽然很少有官方发布的绝对“排名”,但不同机构的调研和用户评选,可以帮你清晰了解哪些是主流品牌,以及它们各自的特点。
2026-01-08 09:55:23
961
原创 单片机基础知识 -- keil优化等级
调试友好性 ↓ → 代码性能/体积优化效果 ↑,O0调试最优,O3性能最优,Os体积最优;工程选型建议:调试阶段用-O0,量产阶段优先-O2(平衡稳定与性能),闪存紧张用-Os,极致实时性才考虑-O3;高优化等级需保证代码规范(如volatile正确使用),避免因优化导致逻辑错误。
2026-01-08 09:27:02
457
原创 嵌入式软件健壮性方案(二)
开发一个基于STM32F407的智能环境监控系统,实现温度、湿度、空气质量监测,并具备LCD显示、数据存储、异常报警和远程通信功能。分层架构:清晰的硬件抽象层、驱动层、服务层、应用层错误处理:分级的错误处理机制,从传感器错误到系统级错误资源管理:内存保护、栈溢出检测、看门狗机制数据完整性:CRC校验、三模冗余、数据备份故障恢复:自动恢复策略、降级运行模式监控诊断:运行时监控、日志记录、诊断接口。
2026-01-08 09:15:23
525
原创 单片机基础知识 -- 重映射功能
单片机引脚重映射的核心是外设引脚的灵活转移,它是解决硬件布局冲突的“利器”,实现方式是通过寄存器配置内部多路选择器。掌握重映射,能大幅提升嵌入式硬件设计的灵活性,减少PCB改版的概率。
2026-01-07 13:54:55
957
原创 单片机基础知识 -- 开发时的测试
反转测试是单片机最基础的测试手段,核心是让IO口电平反复切换,验证硬件基础和程序执行是否正常;它的首要作用是快速排查硬件问题(电源、晶振、IO连通性),避免在基础故障上浪费时间;反转测试是单片机开发/调试的“第一步”,无论是新手入门还是项目排障,都是优先执行的基础操作。基础硬件→外设功能→逻辑鲁棒性→稳定性→量产,反转测试仅属于基础硬件测试的一环;新手开发优先完成:电源/晶振测试(硬件基础)→串口/ADC/定时器测试(核心外设)→边界条件/异常输入测试(逻辑鲁棒性);
2026-01-06 17:03:28
868
原创 单片机基础知识 --- LVD功能
LVD是单片机内置的低电压检测硬件模块,核心作用是监控供电电压,防止低电压导致程序跑飞、数据损坏;LVD可触发两种动作:中断(执行应急操作)、复位(恢复正常运行);LVD是电池供电、电源波动场景中提升单片机稳定性的关键功能,是解决低电压死机问题的核心方案。
2026-01-06 16:54:18
991
原创 CSDN博客使用教程
你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:撤销:Ctrl/Command + Z重做:Ctrl/Command + Y加粗:Ctrl/Command + B斜体:Ctrl/Command + I标题:Ctrl/Command + S
2026-01-06 16:52:44
661
【嵌入式系统】基于STM32的分层架构设计:企业级单片机软件开发规范与模块化实现方案
2026-04-11
【嵌入式系统】基于HAL库的STM32单片机软件设计:企业级分层架构与状态机驱动的应用系统开发
2026-04-11
嵌入式软件的设计失效模式及后果分析(DFMEA)模板,聚焦于基于STM32F407微控制器与MG996R舵机的伺服电机控制模块
2026-01-09
高级的稳定的单片机的bootloader
2025-08-11
入式系统FreeRTOS核心技术解析与实践指南:任务管理、调度机制及通信同步机制详解
2025-08-05
Capacitor size depends on panel capacitance
2025-01-16
基于野火开发板STM32F407的modbus协议 通信
2024-02-26
出租车计费器设计,出租车计费器设计
2022-06-12
超声波接收电路设计 超声波接收电路设计
2022-06-12
篮球比赛24秒倒计时器设计
2022-06-12
汽车尾灯控制电路设计,汽车尾灯控制电路设计
2022-06-12
煤气计费电路设计ccccc
2022-06-12
基于湿敏电阻实现湿度测量电路的设计
2022-06-12
多功能正负直流电源的设计
2022-06-12
音响放大电路的设计(报告说明)
2022-06-12
病房呼叫器设计设计 ccccc
2022-06-12
Keil安装亲测有效安装你干哈的
2024-03-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅