自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 10.3[ADC]采样时间和转换时间-嵌入式铁头山羊STM32笔记

摘要:本文介绍了ADC(模数转换器)的工作原理及关键参数计算方法。主要内容包括:1)ADC时钟频率设置,需通过分频使输入时钟不超过14MHz;2)转换时间计算,12位ADC需要12.5个时钟周期;3)采样时间与信号源内阻的关系,内阻越大采样时间越长;4)以光敏传感器为例说明信号源内阻计算方法;5)采样时间计算公式推导,在12MHz时钟下至少需要10.24个周期。最后总结了ADC时钟频率、转换时间和采样时间的具体计算方法。

2026-01-12 11:39:06 999

原创 10.2[ADC]ADC 模块的结构框图-嵌入式铁头山羊STM32笔记

摘要:本文介绍了ADC外设的多路复用结构和工作原理。ADC通过多路复用实现多个模拟信号通道共享一个转换器,采用逐次逼近型结构完成模数转换。重点分析了常规序列和注入序列两种转换模式:常规序列支持16通道按计划顺序转换,可由定时器触发;注入序列具有更高优先级,可中断常规序列执行。通过示例展示了两种序列配合工作的流程,当注入序列触发时会暂停常规序列,执行完注入任务后再继续常规转换。这些机制为多通道ADC应用提供了灵活的转换控制方案。

2026-01-12 11:38:07 885

原创 10.1 [ADC] 逐次逼近型ADC-嵌入式铁头山羊STM32笔记

摘要:ADC(模数转换器)是将连续模拟信号转换为离散数字信号的器件。本文重点介绍了12位逐次逼近型ADC的工作原理:1)通过采样保持电路获取模拟信号电压;2)采用类似天平的比较方式,从高位到低位逐步调整数字量;3)通过比较器判断并最终锁定转换结果。文中详细解释了采样深度(如12位对应4096级)、量化误差等概念,并用天平称重类比逐次逼近过程,直观展示了电压比较、寄存器调整等关键环节的工作机制。最后通过2.21V转换实例演示了整个ADC工作流程。

2026-01-05 09:22:39 317

原创 9.7 [ 定时器 ] 从模式控制器-嵌入式铁头山羊STM32笔记

摘要:从模式控制器是一个兼具输入(TRGI)和输出(TRGO)功能的控制单元,类似红外接收头和遥控器的集合体。它支持8种从模式,包括编码器模式、复位模式、门模式等,用于接收不同信号控制时基单元动作;以及主模式用于输出控制信号。通过定时器级联和启停控制等示例,展示了其灵活的控制能力。这些基础概念为后续实验提供了理论支持。

2026-01-05 09:21:59 1069

原创 9.6 [定时器]超声波测距实验-嵌入式铁头山羊STM32笔记

本文介绍了基于HC-SR04超声波传感器的测距实验。主要内容包括:1)传感器工作原理,通过Trig引脚启动测量,Echo引脚返回脉冲信号计算距离;2)电路搭建,连接传感器和串口模块;3)编程实现,使用输入捕获测量脉宽,通过六步骤流程(清零CNT/CCR、启动定时器、发送脉冲、等待捕获、关闭定时器)获取距离数据;4)关键参数设置,包括1us分辨率的时基单元配置和输入捕获初始化。实验成功实现了通过串口上报动态距离数据的功能。

2026-01-01 13:39:57 601

原创 9.5 [定时器]输入捕获-嵌入式铁头山羊STM32笔记

摘要:本文介绍了定时器输入捕获功能的基本原理和内部结构。输入捕获通过记录信号边沿发生时CNT计数器的值来测量外部信号的时间参数(如脉宽)。其内部结构包含四部分:输入滤波(滤除噪声)、边沿检测(识别上升/下降沿)、信号选择(支持通道间交叉引用)和分频器(设置触发频率)。特别指出通道1/2和3/4可交叉使用,实现单通道测量上升/下降沿的功能。该功能广泛应用于精确测量信号周期、脉宽等时间参数。

2026-01-01 13:38:48 815

原创 9.4 [定时器]呼吸灯实验-嵌入式铁头山羊STM32笔记

摘要:本实验通过STM32定时器输出比较功能实现呼吸灯效果。采用TIM1通道1(PA8)及其互补输出(PB13)分别驱动红蓝LED,通过PWM占空比调节模拟正弦波亮度变化。关键步骤包括:1)初始化IO为推挽复用输出;2)配置时基单元(72MHz时钟分频至1MHz,ARR=999实现1ms周期);3)设置输出比较参数(PWM1模式,使能主输出);4)动态计算CCR值(0.5(sin(2πt)+1)*1000)并实时更新。实验验证了PWM通过调节CCR值改变占空比(0-100%),进而控制LED平均电压实现亮度

2025-12-31 10:15:29 305

原创 9.3 输出比较-嵌入式铁头山羊STM32笔记

本文介绍了定时器输出比较模块的工作原理及应用。主要内容包括:1)输出比较通过CNT与CCR寄存器比较产生精确方波信号,用于PWM脉宽调制;2)PWM通过调节占空比实现等效电压输出;3)详细解析8种工作模式(重点PWM1模式)和互补输出机制;4)说明极性选择功能可对输出信号取反。文章系统阐述了从基础原理到内部结构的完整知识框架,为理解定时器输出比较功能提供了清晰的技术路径。

2025-12-31 10:14:36 1078

原创 9.2 自制延迟函数-嵌入式铁头山羊STM32笔记

本文介绍了使用STM32定时器实现延迟函数的方法。通过配置TIM3定时器的时基单元(PSC=71,ARR=999)产生1ms中断,在中断服务程序中自增全局变量currenttick记录系统时间。实现步骤包括:1)配置时基单元(时钟使能、参数设置);2)配置中断(TIM_ITConfig使能中断、NVIC设置优先级);3)编写中断响应函数处理标志位并更新currenttick。最后通过LED闪烁测试验证了该延迟函数的有效性,为后续系统开发提供了精确的时间基准。

2025-12-26 10:00:45 872

原创 9.1[ 定时器 ] 时基单元-嵌入式铁头山羊STM32笔记

本文摘要:STM32定时器分为高级、通用和基本三类,内部结构包括时基单元、输出比较等模块。时基单元由时钟源、预分频器、计数器等组成,通过预分频和计数实现定时功能。计数器有上计数、下计数和中心对齐三种模式。时钟源来自时钟树,经倍频后可达72MHz。寄存器预加载机制可防止定时器跑飞,确保稳定运行。文章详细解析了定时器工作原理及配置方法,为STM32定时器应用提供理论基础。

2025-12-26 09:59:58 656

原创 8.2 时钟树编程-嵌入式铁头山羊STM32笔记

本文介绍了STM32单片机时钟树的配置方法。初始状态下,系统时钟默认使用8MHz内部时钟HSI。通过分析启动代码发现标准库自动将时钟配置为72MHz。文章详细讲解了手动配置时钟树的四个步骤:开启HSE外部时钟、配置锁相环倍频、设置分频系数、切换系统时钟源。同时指出需要配置Flash指令预取和访问延迟以适应高速时钟。最后介绍了外设时钟的开关控制方法。通过LED闪烁实验验证了时钟配置的正确性,实现了从8MHz到72MHz的手动时钟树配置。

2025-12-22 14:57:15 1145

原创 8.1 时钟树-嵌入式铁头山羊STM32笔记

本文摘要:时钟树是单片机内部时钟系统的形象化表示,以树状结构描述时钟信号从产生到分配的完整路径。树根(HSI/HSE等时钟源)产生时钟信号,树干(分频器、锁相环)进行频率处理,树枝(AHB/APB总线)分配时钟信号,树叶对应各外设模块。通过配置分频系数和锁相环倍频,可生成不同频率的系统时钟(如72MHz)。外部晶振提供更高精度,内部时钟则简化设计。时钟树的合理配置是外设正常工作的基础,类似人体血液循环系统维持各器官功能。

2025-12-22 14:33:28 636

原创 5.8W25Q64 实验(下)-嵌入式铁头山羊STM32笔记

主要实现了按键控制 LED 翻转,然后 LED 状态存进 W25Q64。整个实验相对简单,主要理解 FLASH 存储器存储数据的思路,在后面对于工业参数的存取、恢复出厂设置、IAP 升级都有一定应用。

2025-12-18 16:25:36 749

原创 5.7W25Q64 实验(上)-嵌入式铁头山羊STM32笔记

摘要:本实验通过MCU的SPI总线控制W25Q64存储器实现单字节数据读写。重点解决了PA15引脚重映射、初始电平设置及SPI模式配置等关键问题。实验详细展示了W25Q64的存储结构(8MB容量,分块/扇区/页管理)及操作流程:1)写入需先擦除扇区(4KB)再页编程(256B);2)读取通过特定指令实现。提供了完整的API函数实现方案,包括写使能、扇区擦除、页编程等关键操作的代码实现和时序波形图。最后通过测试代码验证了0x12数据的存储与读取功能,为后续FLASH存储器应用开发奠定了基础。

2025-12-18 16:23:29 1039

原创 5.6 [SPI]数据收发-嵌入式铁头山羊STM32笔记

编写代码前,了解下 SPI 数据收发过程发送相关:发送数据寄存器,移位寄存器,一个字节八个位,并行写发送数据寄存器串行输出,MOSI。接收相关:接收数据寄存器,移位寄存器,串行收到位,并行写入接收数据寄存器,MISO。标志位:TxE 为 1,表示发送数据寄存器为空RxNE 为 1,表示接收数据寄存器非空打开总开关,预备写入第一个字节,然后写一个同时读一个字节,最后读出最后一个字节Q:写 i+1,读 i 字节?A:因为已经预写入一个字节了。注意是预写入到移位寄存器的,上图是实际的例子。

2025-12-02 19:26:17 330

原创 5.5 [SPI]SPI模块的初始化-嵌入式铁头山羊STM32笔记

摘要:本文详细介绍了SPI模块的工作原理及初始化配置。主要内容包括:1)SPI内部结构(接口管脚、收发寄存器、时钟等6部分);2)SPI初始化参数设置(通信方向、数据宽度、极性相位等);3)波特率计算方法;4)NSS配置方式(主机/从机模式选择)。重点强调配置参数需根据从机设备要求确定,并以W25Q64闪存芯片为例说明具体配置方法。全文通过框图、波形图和代码示例,系统讲解了SPI模块的使用方法。

2025-12-01 23:54:48 915

原创 5.4[SPI]IO 引脚初始化-嵌入式铁头山羊STM32笔记

本文介绍了STM32F1的SPI模块与W25Q64 Flash芯片的连接与应用。SPI1/SPI2是STM32的片上外设,通过MOSI、MISO、SCK、NSS四个引脚连接外设。W25Q64作为SPI从机,用于数据存储扩展。文中详细说明了引脚定位、I/O模式配置(主机的SCK和MOSI设为推挽复用输出,MISO为上拉输入)及输出速度选择(建议2MHz)。初始化时需注意重映射设置和AF时钟使能。该内容为后续SPI功能初始化奠定了基础。

2025-11-16 15:19:48 418

原创 5.1[SPI]电路结构和通信协议-嵌入式铁头山羊STM32笔记

本文介绍了SPI总线的基本原理和参数配置。SPI采用一主多从结构,包括MOSI(主机发送)、MISO(主机接收)、SCK(时钟)和NSS(片选)四根线。通信时主机通过拉低NSS选中从机,SCK提供时钟同步,MOSI/MISO同时收发数据。关键参数包括:1)时钟极性和相位(组合成4种模式);2)传输顺序(LSB或MSB优先);3)数据宽度(通常8bit)。使用时需确保主从设备参数一致,包括模式、传输顺序和数据宽度等配置。

2025-11-15 21:34:19 324

原创 cursor平替-windsurf无限续杯

Cursor 此前支持的无限使用模式已被官方限制,不仅要求境外手机号注册,还未支持支付宝等便捷支付方式,账号切换等绕行操作也已失效。从工具替代选型角度来看,Windsurf 是一款表现出色的平替产品。它不仅搭载了丰富的模型资源,还具备账号切换便捷的优势,且切换后历史交互记录可完整保留,能无缝衔接后续使用流程。在此分享给有同类需求的用户,供大家体验使用。

2025-10-31 14:57:18 5819 61

原创 联软UniAccess Agent卸载

这篇教程分享了卸载Win11的详细步骤,主要使用Everything、Geek、360粉碎机和火绒剑等工具。关键步骤包括:通过service.msc禁用相关服务;用火绒剑删除UniAccessAgent等8个注册表项;强制结束相关进程;最后用360粉碎机彻底清理残留文件。文章特别强调要按顺序操作,并重复粉碎关键文件以确保彻底卸载。整个流程避免了进入安全模式等复杂操作,提供了相对简便的卸载方案。

2025-09-18 15:20:22 447 2

原创 关于火绒安全软件文件“粉碎与解除占用“右键菜单无法隐藏的解决办法

火绒软件的右键管理挺好用的,但是自身的两个菜单却不在管理范围内,鼠标右键打开有点卡顿。找了半天才找到地方,记录一下,方便自己和需要帮助的人看。

2025-06-01 17:08:26 3214 5

原创 Keil5开启高清修复后引发的一系列问题

在Keil开发环境中,用户遇到了高分辨率显示模糊、代码选中时文字错位以及代码补全功能卡顿的问题。针对这些问题,用户采取了以下解决方案:首先,通过启用Keil的高分辨率支持,显著提升了显示清晰度;其次,在TOOLS.INI文件中添加HDPIEnable=1和HDPIScaleFactor=175的设置,解决了代码选中时的文字错位问题;最后,通过关闭ARMOURYCREATEService并重启电脑,有效缓解了代码补全功能导致的卡顿现象

2025-05-22 15:02:01 838 2

原创 【教程】无需注册表!将“在VSCode中打开”添加到右键菜单中

在网络上,关于将 “在 VSCode 中打开” 选项添加到右键菜单的方法,大多涉及注册表操作或借助特定软件。这些方法不仅步骤繁杂,有时用户花费大量时间依葫芦画瓢进行操作后,却发现未能生效。本文将分享一套经过亲测的简单步骤,帮助大家顺利完成添加。通过这种方式,无需对注册表进行复杂操作,就能实现将 “在 VSCode 中打开” 选项加入右键菜单的目的 ,操作便捷且可靠。

2025-03-31 16:57:09 231

原创 keil MDK在debug中将watch中的多个变量快速删除

每次调试watch中有很多变量,一个个remove操作又太麻烦了。网上找了一圈发现只是教你如何删除,并没有快速多次删除的方法。hhh这个方法就可以快速删掉一堆watch中变量了。

2025-01-06 11:08:10 1717

空空如也

空空如也

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

TA关注的人

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