自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 stm32——串口(USART)

本文介绍了STM32常用的通信接口及其特性,包括USART、I2C、SPI、CAN和USB,对比了它们在引脚、方向、时钟、电平和连接设备等方面的差异。重点阐述了全双工与半双工、同步与异步通信的区别,以及TTL电平与差分电平的特点。通过串口通信结构图展示了设备间的连接方式,并提供了USART初始化代码示例和Linux下查看串口设备的方法。最后给出了一个简单的USART发送测试程序,展示了如何通过HAL库实现基本的串口通信功能。

2026-03-20 21:25:07 374

原创 stm32——直接内存访问(DMA)

DMA(直接内存访问)是一种计算机技术,允许外设直接与内存交换数据而无需CPU干预。本文介绍了DMA的基本结构,包括外设寄存器、存储器和DMA请求的交互关系,并提供了STM32的存储器地址映射表。通过代码示例展示了DMA初始化配置过程,详细解析了DMA_HandleTypeDef结构体中的关键参数,如Instance(通道选择)、Direction(数据传输方向)等。文章还特别说明内存到内存模式是通过软件实现的特殊模式。

2026-03-13 20:11:08 522

原创 stm32—— 模数转换器(ADC)

摘要:本文介绍了STM32微控制器中的模数转换器(ADC)工作原理及配置方法。ADC通过比较器将模拟信号转换为数字值,支持规则组和注入组两种转换单元。文章详细解析了四种转换模式(单次/连续转换与扫描/非扫描组合),并提供了初始化代码示例,包括时钟配置、GPIO设置和校准过程。最后展示了通过HAL库读取ADC值并在OLED上显示的实现方法,同时指出示例中实际实现了连续转换的软件模拟方式。

2026-03-13 04:34:50 261

原创 stm32——编码器接口(Encoder Interfacce)

先引入概念,编码器测量正交信号脉冲,自动控制CNT自增或自减,从而指示编码器位置,旋转方向、速度。简单查看一下电路图与输入输出捕获共用TIM1与TIM2。

2026-03-02 19:45:51 591

原创 stm32引脚重映射与输入捕获(Input Capture)

本文介绍了STM32引脚重映射和输入捕获功能。通过AFIO时钟配置实现TIM2引脚重映射,并详细讲解了输入捕获原理:利用CNT计数器在边沿触发时捕获CCR值,可测量PWM频率(测频法和测周期法)。还展示了PWMI结构,通过双路捕获比较器(CCR1捕获周期、CCR2捕获高电平时间)实现占空比测量。文中包含引脚图、代码片段和结构流程图,清晰呈现了STM32输入捕获的工作原理和应用方法。

2026-03-01 23:21:32 630

原创 stm32——PWM

本文介绍了STM32定时器的输出比较(OC)和PWM功能原理及应用。主要内容包括: 输出比较通过比较CNT与CCR寄存器值产生PWM波形,需使用高级/通用定时器的CC单元; PWM原理基于数字信号等效模拟输出,通过调节占空比实现,适用于有惯性系统; 详细说明了PWM的两种输出模式、基本结构和工作波形; 给出了PWM参数计算公式,包括频率、占空比和分辨率; 以呼吸灯为例展示了PWM初始化配置代码,分析了HAL库相关函数实现; 介绍了TIM_OC_InitTypeDef结构体各参数含义。 文章通过图表和代码示例

2026-03-01 00:04:40 703

原创 windows的Delivery Optimization服务网络占用问题 禁用组件

Windows的Delivery Optimization服务在后台占用高达70%网络带宽,导致电脑卡顿。该服务是强制更新组件,即使关闭系统更新仍会运行,且无法通过常规方式禁用。最终通过修改注册表解决:以管理员身份打开regedit,定位到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DoSvc,将start值改为4并重启电脑。这种方法成功阻止了该服务继续占用网络资源。

2026-02-26 22:09:02 73

原创 stm32中断——TIM

摘要:本文介绍了STM32定时器(TIM)时钟中断的基本原理与配置方法。定时器通过分频主频时钟进行计数,在达到设定周期时产生中断。配置步骤包括:1)启用RCC时钟;2)设置时基单元参数(预分频、计数模式、周期等);3)选择时钟源;4)配置中断输出;5)设置NVIC优先级;6)启动计数器。文中给出了初始化代码示例,并详细解析了TIM_ClockConfigTypeDef、TIM_HandleTypeDef等关键结构体的参数定义与作用,为定时器中断应用提供了基础配置参考。

2026-02-19 01:20:07 621

原创 stm32中断——exit(外部中断) gpio型

本文介绍了STM32的外部中断(EXTI)系统配置方法。首先讲解了NVIC中断优先级分组设置,详细说明了5种优先级分组模式及其对应的抢占优先级和响应优先级位数分配。文章重点分析了HAL库中GPIO中断的自动配置机制,指出对于GPIO中断,HAL库会自动完成AFIO和EXTI的初始化,开发者只需配置NVIC即可。同时列出了HAL库提供的EXTI相关函数及其功能。最后通过一个按键中断计数实例,演示了外部中断的配置流程,包括GPIO初始化、NVIC优先级设置和中断服务函数编写

2026-02-03 01:41:19 756

原创 stm32中断系统——瞎讲中断

摘要:本文通过幽默的“舔狗与女神”;比喻讲解STM32中断系统原理。中断相当于女神发消息时的提醒机制:1)CPU(舔狗)可暂停当前任务响应中断;2)保存现场以便恢复原任务;3)设置响应优先级和抢占优先级处理多重中断。最终形象地说明中断系统如何让CPU高效处理突发事件而不丢失当前任务,就像”战狼“;能同时应对多个女神的消息。

2026-02-02 00:23:02 158

原创 stm32亮屏大师

本文介绍了OLED屏幕显示与调试方法,重点讲解了OLED屏幕的显示原理和驱动实现。主要内容包括:1) OLED屏幕成像原理,通过LED矩阵扫描显示文字和图像;2) 使用I2C/SPI通信协议的OLED驱动代码实现,包含引脚初始化、数据传输和显示控制函数;3) 提供完整的OLED显示驱动代码,支持字符和字符串显示功能。文章还讨论了在单片机开发中常用的调试方法,如点灯调试和串口打印等替代方案。

2026-02-01 22:41:11 345

原创 stm32点灯大师

本文介绍了在Linux环境下使用STM32实现LED闪烁的基本方法。文章提供了主控制代码,通过配置GPIO引脚为推挽输出模式,周期性改变引脚电平来实现LED闪烁效果。同时详细解析了STM32的13种GPIO工作模式,包括输入模式(浮空输入、复用输入)、模拟模式、输出模式(推挽输出、开漏输出等)以及中断/事件模式。重点说明了推挽输出模式的工作原理及其在LED控制中的应用,为初学者理解STM32 GPIO的基本操作提供了清晰指导。

2026-01-21 00:55:16 592

原创 更新 linux下stm32开发

这个算是里面最简单的也是坑最少的了首先stlink已经连接并检查到端口,则/dev/tty下是否检测到设备,其次检测是否出现端口占用情况,因为ubunto有点坑会有默认的驱动占用端口 emmm(咱也不敢说。。。这些都没有问题则可以选择 使用elf bin hex 这三种格式烧录采用elf 这个是最简单也是最常见的 因为相比于hex 与二进制文件 这个烧录的起始地址已经记录在其文件内so并不用我们去指定起始地址我们可以采用此指令来检测文件头看到起始地址为0x08000000。

2026-01-19 14:27:33 541

原创 linux下开发stm32

本文介绍了在Linux系统下搭建STM32开发环境的方法,采用VSCode+STM32CubeMX+CMake方案。所需工具链包括arm-none-eabi-gcc、mstlink、make、cmake和openocd。文章详细说明了在Ubuntu下的安装步骤,特别强调了arm-none-eabi-gcc需要从指定链接下载安装而非使用apt版本。同时提供了各工具的验证方法,包括st-info、make、cmake和openocd的版本检查。最后介绍了arm-gcc的安装和环境变量配置方法,并展示了验证安装成

2026-01-13 01:22:12 456

原创 stm32 GPIO引脚对应关系

对于GPIOA,GPIOB,GPIOC这些可以通过引脚上的PA,PB,PC来区分,而GPIO_PIN_x,也可以由 PAx or PBx这些来区分,而对于stm32而言不同的GPIO口(也就是GPIOA或GPIOB)有不同的时钟所以可使用的引脚相较于51是多很多的。接触stm32不久,对于GPIO_Pin_x与硬件引脚的对应关系一直有点懵逼,随后看了一些文章,发现很多文章没有直接点名关系,遂根据自己的理解写下这个,希望有帮助,(不一定完全正确)

2024-11-07 22:11:20 1544

原创 ST-link Utility检测不到串口 Can not connect to target! 已解决

ST-link Utility检测不到串口 Can not connect to target! 已解决

2024-09-27 20:52:49 2806

空空如也

空空如也

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

TA关注的人

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