自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 单片机开发之理解面向对象思想

本文对比了面向过程与面向对象编程在LED灯控制模块开发中的不同实现方式。新手开发者小张最初采用面向过程方法,导致代码冗长、难以维护;经过培训后改用面向对象设计,通过抽象基类Light和具体子类(单色LED、RGB灯、智能灯带)实现统一接口,同时保留底层面向过程的硬件操作。面向对象设计展现了三大优势:统一控制接口、易于扩展新类型、简化系统管理。文章强调在实际开发中,应结合面向对象的设计架构与面向过程的底层实现,既保持代码可维护性,又能精准控制硬件。

2025-06-15 16:52:59 569

原创 CAN数据帧的标准格式刨析

CAN的数据帧以一个显性位(逻辑0)开始,以7个连续的隐性位(逻辑1)结束,在它们之间,分别有仲 裁段、控制段、数据段、CRC段和ACK段。

2025-06-10 18:14:04 891 1

原创 RT-Thread线程的首次切换源码剖析

本文结合源码,详细的刨析了RT-Thread初始化时首次的线程切换过程。

2025-06-08 12:47:56 820

原创 关于GPIO配置模式的区别

本文详细分析了STM32微控制器的GPIO(通用输入输出)结构和工作原理。GPIO内部包含肖特基触发器(用于信号整形和噪声抑制)、保护二极管(防止过压损坏)以及弱上拉/下拉电阻等关键组件。GPIO支持多种工作模式:输入模式(浮空、上拉、下拉)、输出模式(推挽、开漏)、复用功能模式(推挽、开漏)和模拟模式。文章还介绍了输出驱动能力、速度配置等关键参数,并对比了推挽输出与复用推挽的区别。最后提出了模式选择错误的风险和电平兼容性问题,为GPIO的正确使用提供了指导。

2025-06-03 15:22:19 1007

原创 关于程序进入HardFault_Handler中的排查方法

在使用Keil对STM32程序进行DEBUG时,程序有时会跑飞并停留在HardFault_Handler函数中的死循环中,表明STM32发生了硬件错误。主要原因包括栈溢出、内存非法访问和中断异常处理错误。排查措施包括:首先,通过查看LR寄存器的值确定使用的堆栈类型(MSP或PSP),然后检查堆栈内容以定位异常发生时的寄存器状态,最后通过反汇编窗口找到异常前的指令地址。另一种方法是在HardFault_Handler中设置断点,并通过调用堆栈窗口定位到出错的函数位置。

2025-05-20 18:35:51 1140

原创 STM32启动文件剖析

启动文件是系统上电复位后执行的第一个程序,主要完成初始化堆栈指针、PC指针、中断向量表、系统时钟以及调用C库函数_main初始化用户堆栈,最终调用main函数进入C语言程序。

2025-05-12 08:55:13 770

原创 二分查找法

 一般而言,对于包含n个元素的列表,用二分查 找最多需要log2n步,而简单查找最多需要n步。

2025-04-15 17:36:18 290

原创 嵌入式开发之状态机思维

在嵌入式系统中,状态机不是可选设计模式,而是控制复杂性的生存必需品。在一个资源受限的裸机环境下,当业务比较复杂时,如果尝试使用状态机的思想去实现,编程的难度会大大降低,后期软件的升级维护也会变得更加方便。

2025-03-30 22:14:57 837

原创 PID控制算法

在实际应用中,PID算法通常需要根据具体的控制对象和控制要求,选择合适的改进方法并进行参数调整。

2025-03-26 15:36:57 1758

原创 单相交流相控调压

把两个晶闸管反并联后串联在交流电路中,通过对晶闸管的控制就可以控制交流输出。不用改变交流电的频率,在每半个周波内通过对晶闸管开通相位的控制,可以方便地调节输出电压的有效值,这种电路称为交流调压电路

2025-02-19 16:53:06 1386

原创 关于主从定时器单脉冲模式下产生的异常脉冲分析

在维护温控代码的时候,发现其控制MOS斩波用的是主从定时器触发模式的单脉冲模式,这种方法当时确实是吸引到我了(这种配置通常用于需要精准控制PWM输出的场合)。我又拿着示波器去测了一下PWM的输出情况。发现当业务逻辑不需要控制MOS时,接近0%。

2025-02-15 22:42:39 553

原创 关于使用J-Link时SW Device检测不到芯片的解决办法

将芯片的BOOT0引脚接高电平,然后将芯片复位,再将BOOT0接回低电平,可以重新下载程序

2025-02-07 11:12:42 2095

原创 关于RS485通信丢帧问题的分析与解决

发送数据就是往TDR寄存器中写数据,然后TDR寄存器会通过并行通信把数据传给移位寄存器,这个时候TXE会置1,再次向TDR写入数据会使TXE置0,TDR进入移位寄存器之后,会一位一位的发送,如果移位寄存器把数据帧发送完了,同时TDR为空,TXE为1(意味着此刻不仅移位寄存器没事干了,DR寄存器也没事干了),那么TC标志位置1。

2023-09-17 18:51:33 3455 4

空空如也

空空如也

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

TA关注的人

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