- 博客(68)
- 收藏
- 关注
原创 无刷电机 :转子永磁体的结构
永磁同步电机转子是由永磁体和硅钢片铁芯组成的精密复合结构。永磁体(如钕铁硼)作为磁场源,呈条状或瓦片状嵌入转子;硅钢片铁芯则提供低磁阻路径,减少损耗并增强机械强度。转子设计分为表贴式和内置式两种,其中内置式通过优化铁芯形状提升电机性能。该结构实现了磁场引导与机械支撑的统一,直接影响电机的效率、功率密度和可靠性。
2026-02-07 16:23:56
502
原创 电与磁理解
本文系统梳理了磁场相关核心公式与物理原理。首先通过磁路欧姆定律(Φ=F/R)建立磁通、磁动势(F=IN)与磁阻(R=l/μA)的关系,进而推导磁场强度H=F/l和磁感应强度B=μH=Φ/A。在电学视角,阐释了电感L与磁链Ψ=LI=NΦ的关联。其次,深入分析了磁阻的两种作用机制:磁饱和时的被动限制与气隙导致的主动限制。第三部分揭示了磁场能量通过LC谐振电路耗散的物理过程。随后详细解析了左手定则(安培力/洛伦兹力)、右手定则(感应电流)和安培定则(磁场方向)的应用场景与微观机理。最后,通过麦克斯韦方程组建立电磁
2026-02-07 16:12:18
855
原创 硬件 - 电流镜像分析
本文介绍了一种低损耗的防反接、防倒灌电路设计方案。该电路利用PMOS管体二极管和晶体管Q3构建控制回路,通过精确调节R3、R4阻值来控制PMOS的导通电压。创新性地采用电流镜像技术实现温漂负反馈:当温度升高导致晶体管β值增大时,基极电流ib会自动减小,从而抵消温漂影响。电路分析表明,在β=28时,R4上产生约4V压降驱动PMOS导通。该设计具有导通损耗低、温漂自适应的特点,适用于需要稳定电源保护的应用场景。
2026-01-29 11:44:31
382
原创 科学知识总结
本文阐述了周期与频率的换算原理及其在芯片寄存器设置中的应用。通过公式T=1/F说明周期与频率的数学关系,并以32MHz主频芯片为例,详细推导了如何将500μs的目标周期转换为寄存器值:首先计算单周期时间(1/32M),然后用目标周期(0.0005s)除以单周期时间,最终得到寄存器值16000(即32M/2000)。文章强调这种转换方法是为了适配芯片硬件特性,使寄存器能正确控制周期运行。文末提供了技术交流群信息。
2026-01-23 16:15:02
82
原创 LVGL源码详解
LVGL 8.3是一个轻量级嵌入式图形库,采用对象树状态管理、定时器驱动和脏矩形优化实现高效渲染。其核心架构包含四大支柱:对象树与样式系统定义UI状态,事件与动画系统处理状态变化,脏矩形系统优化更新区域,绘制引擎完成最终渲染。工作流程遵循"修改状态→标记脏区→合并优化→定时渲染"的闭环,仅重绘变化区域以节省资源。该框架支持样式继承、Flexbox布局、丰富控件和硬件加速,专为资源受限的嵌入式设备设计,可在数十KB内存下运行。
2026-01-23 16:00:24
743
原创 FreeRTOS源码详解
本文深入解析FreeRTOS实时操作系统的核心原理与实现。首先介绍了FreeRTOS的四种任务状态(运行态、就绪态、阻塞态、挂起态)和五种任务链表结构。重点剖析了其抢占式调度机制,包括通过vTaskDelay、任务通信主动切换和SysTick中断被动切换任务的实现方式。文章详细解读了TCB任务控制块、双向链表管理等关键数据结构,并分析了ARM Cortex-M内核寄存器(CONTROL、PRIMASK、BASEPRI、FAULTMASK)在任务隔离与模式切换中的重要作用。最后概述了FreeRTOS的内存管理
2026-01-05 17:57:27
1536
原创 FreeRTOS移植详解
本文详细介绍了FreeRTOS在STM32H750上的移植过程。主要内容包括:从官网下载源码包,筛选核心内核文件;移植步骤涉及文件拷贝、保留关键文件夹(MemMang和RVDS);工程配置要点如添加必要文件、屏蔽冲突中断、调整配置文件;创建任务的基本方法;以及各源码文件的功能说明。文章还分析了FreeRTOS架构特点,强调其通过RVDS文件夹提供不同芯片架构的底层接口。最后总结了移植的关键步骤:获取源码、筛选文件、工程配置、解决冲突和调整参数。全文为嵌入式开发者提供了清晰的FreeRTOS移植指南,适用于A
2025-12-30 15:24:29
1083
原创 硬件 - 正弦波有效值RMS由来
正弦波RMS有效值的计算基于热效应等效原理,通过积分推导可得$V_{rms}=V_{max}/\sqrt{2}$。常见误区是将半周期电压平均值(0.637$V_{max}$)误认为有效值,实际上有效值需考虑功率(电压×电流)。整流后直流脉动输出约为有效值的0.9倍(280V/311V),这是由峰值与有效值的换算关系决定的。该计算过程澄清了有效值与平均值的本质区别。
2025-08-30 09:54:34
844
原创 KeilC51平台 -关于interrput vectors at address设置注意事项
本文探讨了51核单片机开发中Boot与App共存时的中断偏移问题。当使用C51编译器的"interrput vectors at address"设置中断偏移时,若与A51汇编中手动ORG定位的中断地址不一致,会产生地址冲突。通过实例分析发现,编译器会优先采用"interrput vectors at address"的设置,导致实际跳转地址与预期不符。解决方案是保持两者偏移量一致,使中断向量表的前部地址区分开,避免冲突。中断处理时,硬件会先检查编译器的中断向量设置,
2025-08-18 10:58:35
376
原创 KeilC51平台 - 变量编译与栈区的影响
一般大家开发KeilC51平台时,变量定义在idataxdata区,而C51单片机的栈空间则是在idata区,因此要预估充足的空间给予栈使用图一可以看到原始工程即使不定义变量,DATA MEMROY也会占用9个字节,前8字节为R0-R7工作寄存器,最后一个则为栈顶图二可以看到原始工程仅定义一个u8变量,DATA MEMROY占用10个字节,前8字节为R0-R7工作寄存器,0008H地址为定义的变量地址,最后一个则为栈顶。
2025-03-15 09:58:21
514
原创 KeilC51平台 - 变量和函数定义绝对位置与分Bank注意事项
有时候需要在KeilC51中把变量或函数定义到绝对位置,以下简述做法以上方式对于函数定义来说是以函数段链接来定位,在MAP文件中可以查看各个函数段名技术交流群 : 745662457群内专注 - 问题答疑,技术研究。
2024-09-12 17:51:05
799
原创 MDK平台 - 变量和函数定义绝对位置
有时候需要在MDK中把变量或函数定义到绝对位置,以下简述做法attribute方式一:方式二:以上方式都不需要修改分散加载文件,方便快速实现技术交流群 : 745662457群内专注 - 问题答疑,技术研究。
2024-09-12 17:39:31
764
原创 Keil/MDK平台 - OTA升级详解
随着MCU的资源增大以及物联的普及,许多产品已经使用上了远程升级OTA技术,可以远程优化掉产品的BUG,大大降低了程序风险,以下详解KeilC51/MDK平台下的OTA步骤技术交流群 : 745662457群内专注 - 问题答疑,技术研究。
2024-09-12 11:26:00
2457
原创 FOC - BLDC六步换相驱动原理
无刷直流电机在这里区分为两种,一是永磁无刷直流电机(BLDC),二是永磁同步电机(PMSM),这两者最主要区别在于前者径向充磁,后者轴向充磁,此篇文章主要讲述永磁无刷直流电机(BLDC),这里不赘述基础原理,直接上干货。
2024-05-31 15:50:54
2954
原创 MDK平台 - Code, RO-data , RW-data, ZI-data详解
MDK编译后,会列出Code, RO-data , RW-data, ZI-data,详解各区域
2024-04-13 15:36:13
1210
原创 排序 - 快排 (quick sort)
数据整理过程中经常需要把数据排序,这篇文章主要详解快速排序技术交流群 : 745662457群内专注 - 问题答疑,技术研究。
2024-01-30 20:55:43
914
原创 Keil/MDK平台 - 有符号与无符号变量比较注意事项
一般来说,C语言有符号与无符号比较,编译器默认情况下,如果有符号的值在无符号类型的范围内,则比较将基于该值转换到无符号类型中的表示,如果值超出无符号类型的范围,则行为是超纲的,以下便详解此类C语言的编译器百花齐放,了解编译器的编译行为有助于对程序稳定性的加固,上述情况在实际开发中尽量避免不同类型的有/无符号之间比较,再次抛出比较的概念当有符号的值在无符号范围内会把有符号转换成无符号比较,有符号的值超出无符号范围会让编译器无所适从,以下详解这类情况
2024-01-30 11:49:49
2249
原创 Keil/MDK平台 - 结构体成员指针注意事项
有时候希望通过类定义的类型指向数据包来解析,恰好又想结构体内定义指针指向一段数据,那很常见,不过有时候会忽略一个覆盖重叠的问题,以下详解指针覆盖重叠
2024-01-30 10:03:05
924
原创 KeilC51平台 - printf打印注意事项
平台调试用到printf接口打印一些数据,但是由于printf用到可变形参的概念,又由于KeilC51为8位平台,当我们在可变形参传入8位,16位,32位变量时,printf接口是不知道的,因为不像MDK平台是32位地址操作,因此需要在%d中加入对应类型修饰。本文秉持深入浅出风格展示内容,以上内容可了解到由于KeilC51是8位平台,可变形参并不知道传入的参数的几位的,因此协会标准制定了一个传入位数扩展字符,因此在8位平台里要留意printf的打印输出扩展字符。
2024-01-30 09:23:36
1873
1
原创 Keil/MDK平台 - 变量中断与后台调用注意事项
当中断中操作了变量,回到后台判断变量时有时候会判断不过是因为编译器优化在判断时不从ram区域地址取值判断,而是从寄存器变量中取值判断。
2024-01-29 11:37:39
871
原创 C++运算符重载
1 . 遵循原运算符语意扩展,即+运算,扩展后遵循+的逻辑交互内存2 . 大部分运算符可以重载,小部分不可以(如上述描述)3 . 个别运算符仅能在成员中重载4 . 个别运算符仅能在全局中重载5 . 运算符重载触发机制取决于是否属于全局/成员,参数列表是否符合
2024-01-07 12:04:31
980
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅