自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 没加反相器?STM32F407 寄存器级开发:手写软件串口协议

本文介绍了在STM32F407嵌入式项目中解决串口通信电平冲突的创新方案。由于硬件UART无法满足光模块要求的低电平空闲状态,作者提出了基于定时器和GPIO寄存器操作的软件串口实现方法。文章详细阐述了核心设计思路:通过定时器中断精确控制时序,利用GPIO寄存器直接操作实现电平反转,包括起始位、数据位和停止位的特殊逻辑处理。关键代码展示了高效的中断处理、原子级GPIO操作和精确的时序控制技术。该方案在硬件设计定型的情况下,成功实现了9600-19200波特率的可靠通信,为类似硬件限制问题提供了有价值的参考解决

2026-04-17 11:07:57 240

原创 【STM32极简组件】一行代码开启 printf 调试:让串口打印像写 C 语言一样简单!

这篇文章介绍了一种简化STM32串口调试的极简方法。通过封装debug_uart.h头文件,实现printf直接输出到串口的功能,无需重复编写重定向代码。使用时只需包含该头文件,即可像标准C语言一样使用printf输出调试信息。文章还提供了进阶技巧,如带等级的LOG宏定义,并特别提醒要勾选MicroLIB选项和注意串口初始化顺序,避免常见错误。这种方法简化了嵌入式开发中的调试流程,提高了开发效率。

2026-04-16 18:05:06 22

原创 【STM32极简组件】告别阻塞式消抖:教你写一个支持单击与长按的按键状态机

本文介绍了一种高效的嵌入式按键处理方法,通过状态机机制解决了传统阻塞式按键检测(使用HAL_Delay)导致的系统响应迟钝问题。该方法采用非阻塞设计,使用结构体管理按键状态,在循环中轮询判断按键动作(抖动/单击/长按)。核心实现包括:1)定义按键状态结构体和事件枚举;2)1ms轮询消抖处理;3)支持单击和长按的区分判定。调用时只需初始化按键对象并在主循环中处理返回事件,不影响其他任务执行。相比传统方法,这种方案显著提升了系统响应性和多任务处理能力,特别适合需要同时处理按键、显示和传感器数据的嵌入式应用场景。

2026-04-16 17:33:31 204

原创 【STM32极简组件库】AHT20温湿度传感器:基于HAL库的极简驱动,支持OLED实时显示

本文介绍了AHT20温湿度传感器的优势及使用方法。相比DHT11,AHT20采用I2C接口,具有±0.3℃温度精度和±2%湿度精度,且稳定性更好。文章详细说明了硬件接线方法(VCC-3.3V,GND-GND,SCL-PB6,SDA-PB7),并提供了完整的驱动代码包,包括初始化、数据读取和转换功能。最后演示了如何将AHT20采集的数据实时显示在OLED屏幕上,实现温湿度监控系统。代码已封装成可直接调用的API,简化了开发流程。

2026-01-31 10:50:55 162

原创 【STM32极简组件库】0.96寸OLED屏驱动:支持中英文/数字显示,一行代码调用,基于HAL库

本文介绍了一个针对STM32开发的0.96寸OLED屏(SSD1306)极简驱动方案。该驱动具有代码精简(仅oled.c和oled.h两个文件)、移植方便(基于STM32HAL库)、性能优化等特点,支持16x16汉字、8x16字符、数字显示和全屏清屏功能。文章详细说明了硬件接线方法(以I2C1为例),并提供了完整的驱动代码包,包括字库文件、头文件和实现文件。最后给出了简单的使用指南,只需调用OLED_Init()初始化后即可显示内容。该驱动解决了市面上常见驱动存在的代码臃肿、移植困难、接口复杂等问题。

2026-01-30 18:58:03 42

原创 10分钟掌握Chrome插件开发全流程

介绍Chrome插件的基本概念、功能和应用场景,说明其基于Web技术(HTML、CSS、JavaScript)的开发特点。

2025-09-15 15:37:24 254

使用 nrf52833 完成 主要目标是利用RTOS的功能根据按键动作按特定顺序闪烁LED灯

使用 nrf52833 完成 主要目标是利用RTOS的功能根据按键动作按特定顺序闪烁LED灯

2026-04-16

基于STM32F103C8T6的水表采集程序+oled显示+按键+休眠+4G+RTC+串口等功能

基于STM32F103C8T6的水表采集程序+oled显示+按键+休眠+4G+RTC+串口等功能 之前在原公司写的,现在不用了,基于标准库函数写的,可用来学习

2026-04-15

STM32L431CCT6 带W25Q128的QSPI外部加载器

该存储库为STM32L431CCT6微控制器与Winbond W25Q128 Quad SPI(QSPI)闪存接口提供外部加载器。它便于为W25Q128及其他W25QXX系列闪存创建文件 QSPI 外部加载器:允许使用 STM32CubeProgrammer 编程外接 QSPI 闪存。 可配置多种闪存尺寸:通过调整定义支持不同的 W25QXX 系列芯片。

2026-04-15

ARM.CMSIS.4.5.0

ARM.CMSIS.4.5.0

2025-09-15

ARM.CMSIS.5.9.0

ARM.CMSIS.5.9.0

2025-09-15

nrf52833蓝牙实现一主两从收发正弦波,并通过串口打印,2.4G私有协议

nrf52833蓝牙实现一主两从收发正弦波,并通过串口打印

2025-09-15

NordicSemiconductor.nRF-DeviceFamilyPack.8.27.0.pack

NordicSemiconductor.nRF-DeviceFamilyPack.8.27.0.pack

2025-09-15

NordicSemiconductor.nRF-DeviceFamilyPack.8.40.3.pack

NordicSemiconductor.nRF-DeviceFamilyPack.8.40.3.pack

2025-09-15

STM32L41xxx/42xxx/43xxx/44xxx/45xxx/46xxx参考手册

本参考手册以应用程序开发人员为对象。它提供了有关 如何使用 STM32L41xxx/42xxx/43xxx/44xxx/45xxx/46xxx 微控制器存储器和外设的完整信息。外设的完整信息。 STM32L41xxx/42xxx/43xxx/44xxx/45xxx/46xxx 是一个微控制器系列,具有不同的存储器大小、封装和外设。是一个微控制器系列,具有不同的存储器大小、封装和外设。

2025-02-21

兰申L-mag 电磁流量计转换器Modbus 通讯协议

L-mag 电磁流量计具有标准的 RS-485 通讯接口,采 用Modbus-RTU 标准协议,可以采集瞬时流量,瞬时流速,累积流量等参数。 L-mag 电磁流量计的 Modbus 协议采用 04 号功能码读取数据,支持波特率 1200,2400,4800,9600,19200。串口参数为:1 位起始位 8 位数据位 1 位停止位 N 无校验。 Mobus-RTU 格式(十六进制格式)为主从结构,即:主站先发送一帧数据,从站接收到后再给予应答。 主站命令帧说明:设备地址为流量计设置的通讯地址,功能代码为 Modbus 的功能码(这里通常为 04),寄存器地址为所要读取数据的寄存器地址(详见第二章),寄存器长度为所需要读的寄存器个数,CRC 校验可用相关软件计算。 从站响应帧说明:设备地址为流量计设置的通讯地址(即主站发送过来的地址),功能码也与主站发送的一致,数据长度为从站回复数据的个数。

2024-06-06

stm32f407芯片包

Keil.STM32F4xx_DFP.2.13.0

2024-06-04

STM32F407中文参考手册

本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、 STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。 STM32F405xx/07xx、 STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。

2024-06-04

空空如也

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

TA关注的人

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