- 博客(72)
- 收藏
- 关注
原创 【STM32 CubeMX + Keil】 RS485 通信
RS485是一种工业通信标准,采用差分信号传输,具有抗干扰能力强、支持多点通信和长距离传输(可达1200米)的特点。它通过A/B双线传输电压差表示数据,采用半双工模式,支持最多32个设备组网。文中详细介绍了RS485的电气特性、差分传输原理、终端电阻配置等关键技术,并提供了STM32通过UART实现RS485通信的完整方案,包括硬件接线指南(自动换向方案)、基于HAL库的UART驱动代码(支持6个串口),以及Modbus CRC16校验算法的实现。该方案适用于工业控制、智能楼宇等场景,强调通过预编写的驱动文
2025-09-25 11:07:24
1689
原创 【STM32 CubeMX + Keil】 中断、NVIC 、EXTI
本文系统介绍了STM32中断机制及其应用。前半部分从理论层面阐述了中断概念、分类及工作原理,通过企业饭堂的生动比喻解释NVIC调度机制;重点分析了EXTI外部中断控制器的特点及23条中断线共享机制。后半部分以按键中断为例,详细演示了CubeMX配置流程:包括GPIO模式选择、触发条件设置、NVIC优先级配置等,并给出Keil中回调函数编写的具体实现。特别针对中断共享线的处理方案和优先级冲突问题进行了深入剖析,通过LED闪烁案例揭示了高优先级中断调用低优先级系统服务导致的死锁现象,提出了"被依赖中断
2025-09-19 22:13:40
1135
1
原创 【STM32 CubeMX + Keil】DAC 输出0~3.3V间任意电压
本文介绍了如何使用STM32的DAC外设实现精确电压输出。首先解释了DAC的基本原理和典型应用场景,然后概述了STM32内置DAC的特性,包括12位分辨率、0-3.3V输出范围和通道数量差异。重点演示了通过CubeMX配置DAC的步骤,包括使能通道、设置触发方式等,并提供了示例代码展示如何启动DAC和设置输出电压值。最后还给出了一个实用的电压输出函数,可直接输入毫伏值实现电压转换输出。文章整体内容实用性强,适合嵌入式开发者快速掌握DAC应用。
2025-09-17 14:19:12
1214
原创 【STM32 CubeMX + Keil】 ADC 多通道采集配置与代码实现 -- F103篇
本文介绍了使用STM32F103开发板通过CubeMX配置ADC多通道与DMA传输的方法。主要内容包括:1. ADC基础概念及STM32内置ADC模块特性(12位分辨率、0-3.3V输入范围);2. 详细CubeMX配置步骤:启用ADC通道、设置DMA循环传输模式、配置采样顺序和时钟;3. 代码实现:创建缓存数组、执行ADC校准、启动DMA传输,并演示了ADC值到电压值的转换公式;4. 常见问题解答,如悬空引脚读数、非零GND值等问题原因及解决方案。该方法实现了高效的多路模拟信号采集,通过串口输出结果验证了
2025-09-14 20:05:58
1531
原创 【STM32 CubeMX + Keil】 ADC 多通道采集配置与代码实现 -- F407篇
本文介绍了基于STM32F4的ADC多通道采集实现方法。通过CubeMX配置ADC模块,采用DMA循环传输模式,实现3路模拟电压信号的自动采集与转换。文章详细讲解了ADC的基本原理、STM32内置ADC的特性(12位分辨率、0-3.3V输入范围、最高2.4MSPS采样率),并给出了CubeMX的具体配置步骤,包括通道选择、DMA参数设置和采样时间调整。代码实现部分重点展示了如何通过数组缓存和HAL_ADC_Start_DMA函数启动转换,以及如何将原始ADC值转换为实际电压值。最后针对调试中常见的悬空引脚读
2025-09-14 15:01:07
3321
2
原创 VOFA+ 5分钟实现 数据通信、波形显示
VOFA+是一款嵌入式开发上位机软件,支持串口/网口数据可视化,通过FireWater等协议将数据转换为波形图。本文详细介绍了FireWater协议的两种数据格式(带前缀文本和纯数据),强调分隔符(冒号、逗号)和换行符的使用规范。教程还演示了从STM32发送ADC数据到VOFA+的操作步骤,包括连接设置、数据显示和波形调整技巧,帮助用户快速实现硬件数据的实时可视化调试。
2025-08-16 17:09:04
5657
1
原创 STM32核心板 -- 板载仿真器 CMSIS DAP 的使用方法
本文介绍了板载仿真器CMSIS-DAP的使用方法。核心板内置CMSIS-DAP电路,只需通过USB线连接即可使用,无需额外仿真器。详细说明了接线注意事项(需使用4芯数据线)、状态指示灯含义以及Windows系统下的免驱动特性。Keil参数设置重点包括:选择CMSIS-DAP、勾选自动复位功能。烧录步骤为:先编译确保0错误,再点击烧录按钮,烧录完成后程序会自动运行(需勾选自复位)。文中还指出CubeIDE和VSCode需外接ST-Link等仿真器,并提供了替代烧录方案。
2025-07-26 11:52:06
1858
原创 STM32 -- 仿真器 ST-Link、J-Link 的连接、参数设置
本篇,讲述STM32开发板如何外接STLink、JLink等仿真器, 及参数的设置。
2025-03-05 16:52:55
5524
原创 【CubeMX+STM32】SD卡 U盘文件系统 USB+FATFS
本篇,将使用CubeMX+Keil, 新建一个SDIO+DMA+FatFs+USB的模拟U盘工程。
2025-02-11 15:26:50
5972
3
原创 【CubeMX+STM32】SD卡 文件系统读写 FatFs+SDIO+DMA
本篇,将使用CubeMX+Keil,创建一个SD卡的 SDIO+FatFS+DMA 文件系统读写工程。
2025-02-07 09:39:18
4797
3
原创 CubeMX 升级6.13后 中文乱码 终极解决方案
CubeMX自v6.13起强制使用UTF-8编码,导致国内基于GBK的开发环境(如串口助手、字库芯片)出现中文乱码。v6.13-6.14可通过修改配置文件恢复GBK,但v6.15起完全失效。当前解决方案:1)用户文件保持ANSI(GBK)编码;2)Keil设置为GB2312;3)自动生成的文件不用中文;4)中文操作在用户文件中实现。虽无法完全解决乱码问题,但可最大限度兼容现有GBK生态,实现新版本平稳过渡。
2025-02-05 16:25:14
5385
12
原创 【CubeMX+STM32】SD卡 SDIO通信 DMA读写
本示例示范如何通过DMA读写SD卡。将通过CubeMX+Keil,创建一个SD卡的DMA读写工程。
2025-02-03 10:58:19
3129
1
原创 【STM32 CubeMX + Keil】SD卡存储 SDIO基础通信、读写
STM32, 通过CubeMX配置SDIO,对SD卡(TF卡)进行读写。
2025-01-22 17:22:00
4306
原创 【STM32+CubeMX】 新建一个工程(STM32F407)
也可以通过菜单栏:File>NewProject。打开CubeMX>选择芯片型号。步骤7-2:搜索芯片型号。
2025-01-08 10:14:04
12055
5
原创 STM32 开发辅助工具
而是使用串口UART,经USB转TTL, 把需要的调试数据,实时输出到串口助手中观察。单片机在调试程序时,用得最多的调试方式,并非是进入 debug 模式 ,把网盘文件夹中提供的几款串口助手,直接复制到桌面上,即可使用。链接:https://kimi.moonshot.cn。链接:https://www.csdn.net。最常用的是XCOM、SSCOM这两款。免费的截图神器,对照、抄作业!这种方式最清晰、最直观。二、csdn.net。
2024-10-16 12:28:38
706
原创 STM32 -- USB虚拟串口通信
通过CubeMX + Keil,配置STM32作为USB设备端,与电脑进行通信(CDC);通用带USB功能的 STM32 芯片 (如F1、F4等,系统时钟配置不同,代码通用)。
2024-10-09 21:05:50
37403
43
原创 【快速入门 LVGL】-- 1、STM32 工程移植 LVGL
保姆级 STM32 移植 LVGL 图解!一步步带你实现:官方下载、裁剪、显示注册、触摸注册、控件显示 ......
2024-04-03 22:59:02
70582
125
原创 STM32CubeMX教程---通用定时器_PWM_舵机角度控制
180度舵机MG996R、MG995的角度控制。主要通过CubeMX,配置TIM输出PWM信号:周期20ms、脉宽0.5ms~2.5ms
2024-03-09 16:59:49
2714
6
原创 【STM32】HAL库 CubeMX 教程 --- 高级定时器 TIM1 定时
按上文内容得知,STM32F407的TIM1时钟是168M,在设置预分频为168后,计数脉冲频率:168MHz÷168=1MHz,即每秒产生1百万个计数信号,每个计数脉冲的时长:1秒/1M=1us。谨记一个,当我们使用CubeMX配置外设功能时,它只是根据参数的配置生成初始化代码(即上面的第1步),而不会主动开启外设功能,特别是中断的开启,如TIM、ADC、UART等。注意:打勾中断后,生成的代码,只是帮我们添加了中断的配置;这样修改后,将会每1s进入1次中断,调用回调函数1次,能有效地节省运行资源。
2024-03-07 17:20:25
12363
2
原创 【STM32】HAL库 CubeMX 教程 --- 通用定时器 TIM2 定时
通过CUbeMX+HAL, 配置TIM2,1s中断一次,闪烁LED。
2024-03-07 06:13:47
4914
原创 【STM32】HAL库 CubeMX教程---基本定时器 TIM6、TIM7
在STM32系列中,基本定时器(如TIM6和TIM7)是16位的向上计数定时器,它们只能向上计数,没有外部输入/输出通道,但可以用于简单的定时任务。在设置预分频为84后,脉冲频率:84M/84=1MHz,即每秒产生1百万个脉冲信号,1秒/1M=1us, 即每1us产生一次脉冲信号。例如,可以设置一个定时器每隔一定时间(如1秒)产生一次中断,用于执行周期性的任务,如数据采集、系统心跳等。1. 常用的STM32F103C8, 是不带TIM6、TIM7的, F103系列要RC起,才带基本定时器。
2024-03-03 17:55:10
6905
原创 STM32通过ESP8266连接阿里云 详细步骤
操作提示:在功能名称框中,输入“温度”后,会弹出模板提示,我们可以选择其中相近需求的,它将自动填充相关参数,然后,我们可以再按需求稍作修改。新建产品后,我们再次点击“产品”,就能进入到产品列表,在这里,发现我们新建的“DHT11", 已在列表中。在上一步进入"查看"页面后,这一步我们开始在其中添加想要的”功能",简单理解为数据模板。其中,显示为“示激活”状态,不用理会,当有设备连接成功后,会自动激活。这里的"设备",可以简单理解为,用于管理连接的设备,及设备的数据。同上,是为了简短和方便理解。
2024-02-12 13:42:29
17967
16
CoFlash, 烧录 CubeIDE、VSCode 编译生成的 bin、elf 文件
2024-01-15
CAN 波特率 计算器 (STM32专用)
2025-10-07
STM32F103-HC08 蓝牙通信(两模块间主从通信)
2023-11-08
STM32F103VE-LCD显示屏-2.8寸屏ILI9341(显示图片)
2023-10-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅