- 博客(39)
- 收藏
- 关注
原创 STM32窗口看门狗(WWDG)深度解析:精准守护嵌入式系统的实时性
摘要:STM32窗口看门狗(WWDG)是嵌入式系统精准时序监控的核心组件。其独特窗口机制可防止过早或过晚操作,通过7位递减计数器(0x7F-0x40)实现三重保护:超时复位、窗口违规复位和中断预警。关键配置包括预分频系数(WDGTB)、窗口值(W)和计数器初值。开发时需在安全窗口内喂狗,并实现EWI中断回调作为最后防线。建议与独立看门狗(IWDG)配合使用,构建双重保护架构。WWDG特别适用于实时控制、通信协议处理等时序敏感场景。
2025-08-23 21:51:09
1024
原创 STM32独立看门狗(IWDG)深度解析:从原理到实战的全面指南
本文深入解析嵌入式系统中独立看门狗(IWDG)的设计与应用。文章首先阐述了IWDG在工业控制、医疗设备等关键领域的重要性,指出约35%的嵌入式系统故障可通过IWDG预防。核心技术部分详细剖析了IWDG的硬件架构、时钟系统和工作原理,重点讲解了寄存器配置、超时时间精确计算方法和误差补偿技术。实战章节提供了HAL库和寄存器级两种配置方案,并探讨了多任务系统喂狗策略设计、低功耗模式处理等高级应用技巧。最后通过智能家居网关案例,展示了多级看门狗防护系统的实现方法,强调IWDG作为系统最后防线的重要价值。
2025-08-22 15:56:24
981
原创 STM32独立看门狗(IWDG)深度解析与代码实现指南
本文详细解析了STM32独立看门狗(IWDG)的实现原理与应用方法。主要内容包括:IWDG硬件架构分析、寄存器级操作代码、HAL库驱动实现、精确1秒超时配置方案,以及完整的应用示例和高级技巧。重点介绍了初始化流程、喂狗策略优化、动态超时调整、低功耗模式处理等关键技术,并提供了常见问题解决方案和最佳实践建议。通过代码示例展示了如何实现精确1秒超时配置、安全喂狗操作和系统监控机制,帮助开发者提升嵌入式系统的可靠性。
2025-08-22 15:48:38
580
原创 半导体开关器件深度解析:PNP、NPN、PMOS、NMOS
本文对比分析了BJT(NPN/PNP)与MOSFET(NMOS/PMOS)的核心特性:BJT为电流驱动器件,载流子含电子和空穴,输入阻抗低,适用于放大电路;MOSFET为电压驱动器件,单极载流子(电子或空穴),输入阻抗高,开关速度快,适合数字电路。在结构上,BJT为三层半导体,MOSFET基于衬底掺杂形成沟道。应用选型时,大电流开关推荐NMOS,线性放大优选BJT,桥式电路需组合使用。使用中需注意BJT的电流保护与MOSFET的静电防护,关键选择依据是电流放大选BJT,高速开关选MOSFET。
2025-08-20 21:46:40
1157
原创 基于STM32的感应开关盖垃圾桶
本文介绍了一款基于STM32的智能感应垃圾桶系统设计方案。该系统采用STM32F103C8T6作为主控芯片,通过HC-SR04超声波传感器检测人体接近(5cm内有效),结合震动传感器和按键实现三种触发方式。当检测到任一触发信号时,系统通过SG90舵机控制桶盖自动开启,并伴有声光提示,2秒后自动关闭。系统具有低功耗(待机电流1.2mA)、多传感器融合、防误触等特性,并预留了太阳能供电、满溢检测等扩展接口。测试数据显示其测距精度±0.5cm,响应时间<300ms,BOM成本<50元,具备实际应用价值
2025-08-20 21:32:30
2064
原创 基于STM32的电动车智能报警系统设计与实现
本文详细介绍了振动报警系统的设计与实现。系统采用SW-18015P振动传感器和433M无线通信模块,包含三级报警机制(预警、一级、二级),支持远程布防/撤防。核心功能包括:50ms防抖检测算法、低功耗睡眠模式(电流仅15μA)、双重认证和防拆检测。测试数据显示响应时间120-210ms,误报率<0.5%,电池寿命达2年。系统具有自适应灵敏度调节功能,未来可扩展AI识别和车联网集成。技术亮点包括多传感器融合、智能分级报警和生物特征识别,适用于-30℃~85℃的极端环境。
2025-08-18 22:58:06
718
原创 STM32驱动SG90舵机全解析:从PWM原理到多舵机协同控制
SG90舵机技术解析与应用指南:该微型舵机(9g)采用PWM控制,20ms周期信号实现180°定位(脉宽0.5-2.5ms)。关键注意事项包括:5V独立供电(峰值250mA)、信号线序规范(橙/红/棕)、STM32通过定时器生成50Hz PWM(预分频7200+周期200)。应用时需注意多舵机同步控制、梯形加减速优化及常见故障处理(抖动/发热)。SG90适合轻负载场景(<1.6kg/cm),高要求时可升级至MG90S/MG996R。设计原则强调独立供电、短信号线(<20cm)和软件限位保护。
2025-08-18 22:47:54
1043
原创 基于STM32的精确按键时长测量系统
基于STM32F103C8T6 的简单测量按键按下时间的code使用定时器 2 通道 2 来捕获按键 2 按下时间,并通过串口打印。
2025-08-16 23:32:42
1050
原创 【无标题】
本文介绍了Markdown编辑器的基本功能与新增特性。主要内容包括:1.全新的界面设计和写作体验;2.新增代码高亮、图片拖拽、数学公式支持等功能;3.常用的快捷键操作指南;4.文本样式设置、列表、表格、注脚等语法说明;5.支持甘特图、UML图表、流程图等可视化内容;6.文章导出与导入操作方法。该编辑器适合用于博客写作,提供丰富的格式支持和便捷的编辑功能。
2025-07-27 21:01:12
654
原创 蓝桥杯单片机设计与开发第十二届省赛(满分代码)
main.c作为程序的入口,负责系统的初始化和主循环的运行,调用其他模块的函数实现系统的各项功能。HC573.c提供了对 74HC573 锁存器的控制功能,被Nixie.c和main.c中的初始化函数调用。Nixie.c实现了数码管的显示功能,被main.cKeys.c和DS18B20.c中的函数调用,用于更新显示信息。Keys.c实现了按键扫描功能,被main.c调用,根据按键操作更新系统状态并调用Nixie.c中的函数更新显示。DS18B20.c。
2025-03-24 22:24:39
1264
原创 求1000以内所有恰好能分解成10组两个素数之和
根据哥德巴赫猜想,任意一个大偶数都可以分解为两个素数之和。但许多偶数分解为两个素数之和并不是唯一的。请编写函数fun,其功能是:求1000(不包括1000)以内的所有恰好能分解成10组两个素数之和(5+109和109+5被认为是同一组)的偶并依次存入数组a中并在屏幕上打印出来,打印时每个数单独一行,符合条件的个数通过函数值返回。数,例如:114=5+109=7+107=11+103=13+101=17+97=31+83=41+73=43+71=47+67=53+61。
2024-09-21 22:26:06
1043
2
原创 前移m的字符再后置
请编写函数fun,函数的功能是:移动字符串中的内容,移动的规则如下:把第1到第m个字符平移到字符串的最后,把第m+1到最后的字符移到字符串的前部。例如,字符串中原有的内容为:ABCDEFGHIK,m的值为3,则移动后字符串中的内容应该是:DEFGHIKABC.
2024-09-07 00:28:57
488
原创 四叶玫瑰数
请编写函数fun,其功能是:求n(n<10000)以内的所有四叶玫瑰数并逐个存放到result所指的数组中,四叶玫瑰数的个数作为函数值返回。本程序使用for循环遍历所有数,while循环分解当前数的各个位的值,并四次方后累加求和,若该和与原数相等,则满足要求,保存。如果一个4位正整数等于其各个数字的4次方之和,则称该数为四叶玫瑰数。因此1634就是一个四叶玫瑰数。
2024-09-03 23:43:16
1576
原创 计算机二级公共部分部分知识点(待续中……)
第一范式:表中每一列的属性都不可再分 第二范式:表中每一列的属性都不可再分,且非主属性完全依赖于主属性 第三范式:表中每一列的属性都不可再分,且非主属性完全依赖于主属性,且每个非主属性都不传递函数依赖于主属性。传递依赖,非主属性可以互推(A->b,b->c,说明A可以推c)·当队头和队尾指针指向同一个元素时,队列为空或队列为满。局限性:附近的存储单元也将被访问。:数据,控制和地址总线(DSK):固定分区(静态)和可变分区。局限性:近期很快会被再次访问。的动态变化决定栈中元素的。:取、分析和执行指令。
2024-08-25 21:07:45
400
原创 链表的一些常用函数
本文展示了一个链表数据结构的C语言实现,包含14个常用操作函数。链表结构包括头节点和尾节点,支持初始化、清理、插入(头插、尾插、有序插入)、删除(头删、尾删、指定值删除)、获取(获取头/尾元素、按索引获取)以及查询链表大小和状态等操作。所有函数都基于统一的结构体定义,通过指针操作实现高效的链表管理。代码演示了如何通过这些函数构建链表、插入/删除元素,并最终输出链表内容。该实现展示了链表数据结构的基本原理和常见操作。
2024-08-22 14:28:16
1297
原创 简单的图书管理系统
本文实现了一个图书管理系统,使用结构体数组存储10本图书信息。系统包含4个核心功能:1)统计有效图书数量;2)打印所有图书信息;3)在指定位置插入图书;4)删除指定位置图书。通过动态内存分配处理数组插入/删除时的元素移动问题,确保内存连续性。主程序演示了初始化5本图书、统计数量、打印信息、插入新书和删除图书的完整流程。代码采用结构体指针操作,包含完善的内存管理机制。
2024-08-19 23:04:42
454
原创 C语言结构体
该程序实现计算长方形中点的功能。首先定义了点(pt)和长方形(rect)结构体,包含两个函数:read()读取用户输入的两个顶点坐标,midpt()计算中点坐标。主函数中调用这两个函数,输出长方形顶点和中点信息,并处理内存分配和释放。中点计算采用两顶点坐标的平均值,最后程序会打印输入的长方形坐标及其中点位置。
2024-08-17 16:37:43
519
原创 C语言简单的迷宫小游戏
这是一个简单的迷宫游戏程序,玩家通过输入w/s/a/d控制角色移动。程序使用6x6二维数组存储迷宫地图,其中"O"代表玩家,"#"代表墙壁。玩家移动时会检查边界和墙壁,成功到达出口时游戏结束。通过修改数组可以自定义迷宫布局。程序包含清屏、地图显示、移动检测等功能,使用switch-case处理不同方向键输入,每次移动后更新玩家位置和地图状态。
2024-08-12 15:00:22
414
原创 C语言学习历程(持续更新中……)
【C语言基础摘要】主要包含以下核心内容: 程序结构:C源文件以.c扩展名保存,必须包含main主函数作为程序入口,语句以分号结束。头文件使用.h扩展名。 数据类型与存储 进制表示:二进制(0b)、八进制(0)、十六进制(0x) 原码/反码/补码:计算机以补码存储数据 类型转换:隐式转换规则及强制类型转换方法 核心语法 运算符:算术、逻辑、位运算(与/或/异或) 流程控制:if-else/switch条件判断,while/do-while/for循环结构 函数:定义、参数传递(值传递/地址传递)、递归实现 内
2024-08-07 22:08:24
199
原创 嘉立创PCB画板体验之旅
每一次的PCB设计都是一次学习和成长的机会。在完成设计后,要及时总结经验教训,反思自己在设计过程中的不足和需要改进的地方。这样,在下一次的设计中就能更加得心应手,不断提高自己的设计水平。
2024-08-06 20:51:37
3842
2
13-15届 蓝桥杯EDA历届模拟题和真题
2024-08-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅