- 博客(112)
- 资源 (10)
- 收藏
- 关注
原创 实际项目开发单片机—Flash错误
供电异常:编程或擦写Flash时,供电电压低于芯片要求的阈值,会导致数据写入不完整或校验失败;其他因素:芯片焊接时的高温损坏Flash模块、Flash本身存在制造缺陷,或程序运行时误触发Flash的写保护机制,也可能导致读写错误。软件操作不当:违反Flash的操作时序(如擦写间隔过短)、在禁止写/擦的区域执行操作、多次非法擦写超出芯片的擦写寿命,都会引发错误。外部干扰:强电磁干扰(如电机、继电器启停)会干扰Flash的读写时序;静电击穿Flash存储单元,会造成永久性的数据损坏。
2025-12-19 21:28:15
300
原创 计算机网络学习(三)-- IP地址 和 MAC 地址如何转换,以太网
IP层与MAC层的转换通过ARP协议IP→MAC:通过ARP广播请求和单播响应获取目标MAC数据传输:网络层使用IP寻址,数据链路层使用MAC寻址,通过封装/解封装完成层次间转换跨网段:需借助网关,每次路由转发都要重新封装MAC头在TCP/IP网络中,IP地址是"目的地",MAC地址是"下一站车票"
2025-12-19 18:07:26
965
1
原创 单片机基础知识(八)8080时序
8080时序是Intel 8080/8085系列8位微处理器定义的并行总线时序标准,核心用于微处理器与内存、I/O外设(如LCD、ADC、打印机)的并行数据传输同步。其本质是通过一组控制信号、地址总线、数据总线的电平变化时序,规范“地址锁存、读写控制、数据传输”的逻辑顺序,确保多设备并行通信的可靠性。由于其时序逻辑简洁、控制明确,后续被大量并行接口外设(如TFT LCD控制器、并行ADC/DAC)沿用,成为嵌入式系统中并行接口的经典参考时序。
2025-12-18 11:08:49
677
原创 实际项目开发应用--485通信
多设备485通信不稳定的核心原因是**“拓扑不规范+接线/参数错误+干扰/供电问题”**,其中“星型拓扑”“终端电阻缺失”“A/B线接反”“地址冲突”“共地不良”占比超过80%。工程中优先整改拓扑和接线(最易解决),再核对参数和供电,最后处理干扰问题,基本能解决90%以上的时断时通故障。若需长距离、多设备(>64个)通信,建议分段加中继器,同时做好屏蔽和共地设计,从根源避免干扰。
2025-12-17 11:49:59
834
原创 计算机网络学习(二)---Ping命令
ping命令是网络诊断的基础工具,通过发送ICMP回显请求测试连通性和延迟。掌握其基本用法和参数,可快速判断网络问题。在实际应用中,建议结合其他工具(如tracert、ipconfig)进行全面网络诊断。核心要点回顾:基本语法ping [参数] 目标地址核心功能:测试连通性、测量延迟、检测丢包实用参数:-t(持续测试)、-n(指定包数)、-l(设置包大小)、-w(设置超时)排查思路:从本地到远程,逐步定位问题注:以上信息基于Windows 10/11系统,部分参数在早期Windows版本可能有差异。
2025-12-09 15:26:20
1297
原创 单片机基础知识(八)SRAM芯片---IS62WV51216 芯片
引脚名称功能描述A0~A1819位地址线(2^19=524,288个地址)D0~D1516位双向数据线CS1#/CS2片选信号(CS1#低有效/CS2高有效)OE#输出使能(低有效)WE#写使能(低有效)LB#/UB#低位/高位字节控制(低有效)VCC电源(2.5V~3.6V)GND地作为一款高性能、低功耗的16位SRAM芯片,凭借其**高速访问(45-55ns)、低功耗(μW级待机)、灵活接口(支持字节控制和三态输出)**等特性,成为嵌入式系统外部存储扩展的理想选择。
2025-12-08 22:32:54
719
原创 计算机网络学习(一)-- IP 报文和 ICMP 报文
对比维度IPv4报文结构ICMP报文结构结构组成固定首部(20字节)+ 可选首部 + 数据固定首部(8字节)+ 可变数据长度特性总长度最大65535字节,首部长度可变(20~60字节)长度随场景变化(差错报文≈48字节,查询报文可自定义)核心字段源/目的IP、TTL、协议字段、分片相关字段类型、代码、标识符、序列号数据部分用途承载上层协议数据(TCP/UDP/ICMP等)差错定位(原IP首部+前8字节)或查询数据(时间戳等)封装关系独立传输,可承载ICMP。
2025-12-08 15:25:17
1003
原创 编程基础--数据结构
堆是满足以下两个条件的完全二叉树结构条件:必须是「完全二叉树」(层序遍历填满,最后一层节点从左到右连续排列,无空缺);顺序条件(堆序性):任意父节点与子节点满足固定的大小关系(分两种类型)。特性说明结构特性完全二叉树,可用数组高效存储,无需指针顺序特性仅约束父-子关系,兄弟节点无顺序要求最值特性大顶堆顶是最大值,小顶堆顶是最小值,取最值时间复杂度O(1)操作复杂度插入/删除堆顶:O(log n)(树高度为log₂n);建堆:O(n)(而非O(n log n))稳定性。
2025-12-07 23:51:09
1200
原创 单片机基础知识(七)Flash芯片---W25Q128
闪存中最小可写入的数据单元,类似“笔记本的单张纸”——只能在“空白纸”上写数据,且不能超过单页容量(写满需换页)。闪存中最小可擦除的数据单元,类似“笔记本的一小叠纸(如16张)”——要修改其中一张纸的内容,必须先把整叠纸“清空”(擦除),再重新写入所有需要保留的数据。由多个扇区组成的“更大存储单元”,类似“笔记本的一大叠纸(如16小叠)”——用于批量擦除数据,效率比逐扇区擦除更高。页:解决“最小写入粒度”,让零散数据写入更灵活;扇区:解决“最小擦除粒度”,平衡擦除效率和数据保护;
2025-12-02 10:19:10
513
原创 单片机基础知识(五)定时器--输入通道和捕获通道
输入通道:是一个物理路径或硬件引脚,负责将外部信号引入到单片机内部。捕获通道:是一个功能模块,它“附着”在输入通道上,用于捕捉输入信号某个瞬间的时间戳。输入通道= 一条公路。捕获通道= 在这条公路上设置的一个高速抓拍相机。公路(输入通道)负责让车辆(电信号)通过;而抓拍相机(捕获通道)负责在特定时刻(如车辆超速时)记录下那个精确的时间。输入通道是“路”,是信号进入的基础。捕获通道是“路上的精密测量站”,是实现高精度时间测量的高级功能。
2025-11-27 15:57:52
817
原创 单片机基础知识(四)--影子寄存器
影子寄存器是单片机内部一个用于缓冲和同步的硬件机制。它通过将用户配置(预装载)与实际运行(影子)分离开,并在一个安全的同步事件发生时进行更新,从而保证了外设(如定时器、PWM、通信模块等)工作的稳定性和可靠性,是生产“干净”电子信号的关键设计。
2025-11-27 14:44:04
353
原创 freeRTOS面试总结
FreeRTOS 面试核心围绕“是什么(概念)→ 怎么用(API)→ 为什么(原理)→ 出问题怎么办(排查)”展开,重点掌握任务调度、IPC机制(队列/信号量)、内存管理、中断处理四大模块,结合实际项目中的问题(如栈溢出、优先级反转)理解原理,即可应对绝大多数面试场景。
2025-11-26 17:03:08
301
原创 freeRTOS学习笔记(十五)-- CPU使用率统计
任务是否正常就绪/阻塞/挂起;栈溢出风险(剩余栈空间过小);优先级配置是否合理(是否有高优先级任务长期阻塞);任务是否被意外删除或挂起。开启调试宏、缓冲区足够大、仅用于调试、避免中断中调用,即可安全高效地使用。识别 CPU 占用过高的任务(优化代码逻辑,减少无效循环);排查低优先级任务饥饿问题(调整任务优先级或高优先级任务阻塞策略);验证系统资源分配合理性(确保核心业务任务获得足够 CPU 时间)。必须实现定时器钩子函数、缓冲区足够大、仅用于调试、避免中断中调用。
2025-11-25 22:10:12
851
原创 freeRTOS学习笔记(十四)--内存
强制将内存申请大小向上对齐到的整数倍,是嵌入式系统中解决内存对齐问题的经典写法,核心依赖“2 的幂对齐数 → 掩码是低 n 位全 1”的二进制特性,用按位与实现高效判断和计算。
2025-11-21 14:44:24
513
原创 嵌入式软件设计---静态代码分析工具
实际中,大型企业常组合使用(如 PC-lint 做本地快速检查 + Coverity 做CI全量分析 + Checkmarx 做安全专项检测),以覆盖不同维度的代码质量需求。,主要用于检测代码中的缺陷、安全漏洞、合规性问题(如违反 MISRA C 规范)等。Checkmarx、Coverity、PC-lint 都是嵌入式及软件行业中常用的。
2025-11-11 00:17:10
816
原创 嵌入式软件行业的代码规范
嵌入式软件由于其运行环境的特殊性(如资源受限、实时性要求高、与硬件强耦合、安全性要求严格等),代码规范不仅关系到可读性和可维护性,更直接影响系统的可靠性和安全性。以下是嵌入式软件行业常见的。,具体规范需根据行业(如汽车用 MISRA+AUTOSAR,航空用 DO-178C)和企业需求定制。
2025-11-11 00:10:35
590
原创 freeRTOS学习笔记(十三)--临界资源
临界资源是 FreeRTOS 多任务环境中必须重点关注的对象,其核心问题是并发访问导致的不确定性。实际开发中,需根据资源的特性(是否允许嵌套访问、操作耗时、是否涉及中断等)选择合适的保护机制,确保系统的稳定性和数据的一致性。
2025-11-11 00:06:50
367
原创 产品研发--蜂鸣器
压电蜂鸣器凭借其低功耗、长寿命、宽温度范围等优势,已成为电子设备提示音和警报系统的首选方案。在选型时,需结合具体应用场景(如室内/户外、体积限制、电压等级)和技术参数(音压、频率、驱动方式)综合考量,并严格遵循焊接工艺和环境使用规范,以确保设备稳定可靠运行。
2025-11-08 15:19:59
811
原创 产品研发----点型感烟火灾探测器
减光系数(通常用符号K表示)是指单位长度的烟雾对光的衰减程度,单位为dB/m(分贝/米)。它反映了烟雾浓度的高低:K值越大,烟雾越浓,对光的遮挡越强。K:减光系数,单位dB/m;L:光在烟雾中传播的距离(光程长度),单位米(m);I₀:入射光的初始光强(无烟雾时的光强),单位通常为勒克斯(lux)或瓦特/平方米(W/m²);I:光穿过烟雾后的透射光强(有烟雾时的光强),单位需与I₀一致;lg:以10为底的对数(常用对数)。
2025-11-05 14:27:10
633
原创 FreeRTOS学习笔记(应用)-- 各种 信号量的应用场景
二进制信号量:侧重“同步”(事件通知),如中断-任务、任务-任务的触发。计数信号量:侧重“数量管理”,如有限资源分配或事件次数统计。互斥信号量:侧重“共享资源保护”,解决多任务竞争,带优先级继承。递归互斥信号量:侧重“嵌套访问保护”,避免同一任务的自我死锁。实际使用时需根据场景选择,避免滥用(如用Mutex做同步会浪费优先级继承的开销,用二进制信号量做互斥可能导致优先级反转)。
2025-11-05 09:28:40
865
原创 FreeRTOS学习笔记(应用)-- vPortGetIPSR()函数
是FreeRTOS在ARM Cortex-M平台上用于读取IPSR寄存器的工具函数,核心作用是提供当前系统的中断状态信息,帮助内核区分任务与中断上下文,确保API调用的正确性和系统调度的合理性。其实现依赖硬件架构,是FreeRTOS移植层与内核交互的重要桥梁。
2025-11-04 15:29:53
821
原创 freeRTOS学习笔记(十二)--信号量
FreeRTOS中的同步是多任务协作的核心机制,通过信号量、事件标志组等工具,确保任务(或中断)按照预期的时序执行,避免因并发导致的逻辑混乱。实际开发中,需根据具体场景(如事件数量、是否传递数据、资源类型)选择合适的同步工具,以保证系统的实时性和可靠性。互斥是FreeRTOS中保障共享资源安全访问的核心机制,通过互斥锁实现“同一时间仅一个任务访问资源”,并通过优先级继承解决实时性问题。它与同步机制(如信号量)相辅相成:同步确保任务“按顺序执行”,互斥确保资源“被安全访问”,共同支撑多任务系统的稳定运行。
2025-10-29 23:31:43
740
原创 怎么成为一名硬件工程师
电子硬件工程师需要掌握的电路设计,核心围绕“信号处理”和“供电保障”两大主线,覆盖从基础功能到复杂系统的全链条。这些电路设计能力直接决定了硬件产品的稳定性、性能和成本,是工程师的核心竞争力。
2025-10-28 15:47:06
808
原创 单片机开发---分层架构设计
职责:这是最底层,直接与单片机寄存器和外设打交道。它的核心目标是将硬件操作封装成统一的函数接口,从而屏蔽不同型号单片机之间的寄存器操作差异。使用对下:直接操作单片机的特定外设寄存器(如USART1->DRGPIOA->ODR对上:为驱动层提供标准化的、与硬件无关的API(如当更换单片机型号时,理论上只需要重写或替换这一层代码,上层代码几乎无需改动。示例代码#endif// hal_uart.c (针对特定MCU,如STM32)// ... 复杂的寄存器配置,如使能时钟、设置波特率、数据位等。
2025-10-25 16:08:08
880
原创 FreeRTOS学习笔记(十一):队列
在C语言中,队列是一种先进先出(FIFO)的线性数据结构。这是一个很好的问题!这段代码是 FreeRTOS 队列重置函数的关键部分,以下为重置消息队列 xQueueGenericReset()源码。这就是为什么在重置队列时,这两个指针需要指向不同位置的原因。指向不同的位置是有特定设计目的的。FreeRTOS 的队列通常使用。所以总结来说:pcTail。这是一个很重要的概念。: 指向队列存储区域的。(最后一个字节之后)
2025-10-24 15:53:35
1018
原创 单片机开发笔记---C语言
malloc的全称是(内存分配)。它是C标准库(在stdlib.h头文件中)提供的一个函数,用于在程序运行时动态地从堆区申请指定大小的内存空间。在编写程序时,你有时无法预知需要多少内存(例如,要存储一个用户输入的未知长度的字符串,或者一个由用户决定大小的数组)。malloc允许你在程序运行起来之后,再“按需”申请内存。特性描述头文件功能动态内存分配内存来源堆初始化不初始化(内容是随机的)参数所需字节数 (size_t返回值成功:指向内存的void*;NULL配对使用必须与free()
2025-10-24 10:42:18
908
原创 单片机开发笔记--结构体和联合体的应用场景
单片机通过串口、CAN、LoRa等通信时,协议帧通常包含帧头、地址、数据长度、 payload、校验位等字段。结构体可直接映射协议帧的格式,简化帧的打包(发送)和解析(接收)过程。
2025-10-24 09:14:10
1084
原创 我的做饭笔记
煮鸡蛋看起来简单,但不同的方法可以做出截然不同的口感和风味!它看似简单,但通过不同的手法和配料,可以变幻出多种口感和风味。希望这份炒鸡蛋指南能启发你走进厨房,尝试做出不同风味的炒蛋,享受烹饪的乐趣!这是一种不打壳,直接在水中煮的去壳鸡蛋,通常搭配早餐、面包或沙拉。这是最经典的方法,根据鸡蛋是从冷水还是沸水下锅,又有所不同。这些是炒鸡蛋的“升级版”,需要更多的调味和步骤。这是最核心的技法,不同地区有不同的风格。如果你有蒸锅,这是非常省事且高效的方法。这是将煮熟的鸡蛋进行再加工的风味做法。
2025-10-23 17:20:12
680
原创 FreeRTOS学习笔记(十):相对延时和绝对延时
特性相对延时vTaskDelay绝对延时参考点相对的,从调用函数的那一刻开始算绝对的,参考一个固定的、预定的时间点周期稳定性不稳定。周期 = 任务执行时间 + 延时时间非常稳定。周期固定等于适用场景1. 简单的延时2. 不需要精确周期的任务3. 在两个操作间插入一个暂停1.需要固定频率执行的任务2. 数据采集、控制循环、状态机扫描3. 任何对实时性有要求的周期性任务对执行时间的敏感性敏感,执行时间的波动会直接影响周期不敏感,能够自动补偿执行时间的波动初始化代码只在任务第一次运行时执行一次。
2025-10-23 10:41:08
938
原创 FreeRTOS学习笔记(九):任务的删除和释放
解决任务删除导致的资源泄漏,核心是显式释放应用程序资源简单场景:任务内部释放资源后自删除。外部删除场景:通过全局句柄由其他任务释放。复杂场景:使用任务删除钩子函数统一管理资源释放。最佳实践:减少动态资源分配,优先使用静态内存或内存池。通过以上方法,可确保任务删除时所有资源被正确回收,避免内存泄漏和系统不稳定。
2025-10-21 10:05:34
956
原创 嵌入式软件面试
答案要点:缓冲区溢出攻击:当向固定大小的缓冲区(如数组)写入超出其容量的数据时,多余数据会覆盖相邻内存区域(如其他变量、函数返回地址)。攻击者可通过精心构造输入数据,修改函数返回地址为恶意代码地址,使程序执行恶意代码,导致系统被控制、数据泄露等安全问题。
2025-10-17 09:38:23
574
原创 单片机开发笔记--- 如何理解重定向C库函数 printf ( )
printf与fputc的关联是“上层格式化”与“底层输出”的分工合作printf负责复杂的格式化转换,生成字符序列;fputc负责将这些字符逐个发送到具体设备;C标准库通过内部逻辑将二者绑定,使得重写fputc就能改变printf的输出目标(如从控制台改为串口)。
2025-10-15 08:49:41
954
原创 FreeRTOS学习笔记(应用)-- 关于通信调度
优先级分层:接收 > 发送 > 业务处理,确保数据不丢失。阻塞代替轮询:用信号量/队列让任务“按需运行”,减少CPU占用。队列缓冲数据:解耦任务交互,应对突发流量。互斥保护外设:避免多任务冲突,保证通信数据完整。通过以上策略,既能保证通信的实时性和可靠性,又能让其他任务正常运行,实现FreeRTOS的多任务高效协作。
2025-10-13 10:30:26
399
原创 学习资料--记笔记的软件介绍
选择时可优先试用免费版,结合自身需求逐步升级。例如,学生可先用OneNote满足基础笔记需求,随着内容积累再切换至Obsidian构建知识网络;职场人可从Evernote开始,若团队协作需求增加则转向Notion或boardmix博思白板。选择适合的笔记工具需结合使用场景(如学习、工作、创意)、功能需求(手写、协作、AI辅助)和平台偏好。以下是2025年主流笔记软件的深度对比与推荐,覆盖。
2025-10-11 16:09:05
815
原创 单片机开发--基础电路
晶振的工作核心是利用石英晶体的压电效应,通过与单片机内部电路形成正反馈振荡,产生稳定的时钟信号。它为单片机提供了“时间基准”,是保证单片机有序、高效、稳定工作的关键元件。晶振电路:输出正弦波(模拟信号),提供频率稳定的原始振荡源。单片机内部:通过施密特触发器将正弦波整形为方波(数字信号),供数字电路同步工作。转换的核心意义:将模拟域的稳定频率信号,转换为数字域可识别的同步时钟,兼顾了频率稳定性(正弦波的优势)和数字电路的时序需求(方波的优势)。
2025-09-30 09:54:51
1176
原创 嘉立创PCB笔记(二)
嘉立创EDA的器件标准化本质是建立“设计规范-元件库-生产工艺”的统一标准减少设计错误(如封装不匹配、引脚接错);提高团队协作效率(统一符号和命名,降低沟通成本);确保设计可生产性(直接适配嘉立创的PCB制造和SMT贴片流程)。对于设计者而言,优先使用嘉立创官方标准化库(立创元件库、封装库),或基于官方规范自定义元件,是提高设计效率和成功率的关键。
2025-09-29 11:31:16
1642
高级的稳定的单片机的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订阅