logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Flexible Button 组件移植

FlexibleButton是一个基于标准C语言的轻量级按键处理库,支持单击、双击、连击、长按等多种按键事件,具有自动消抖和组合按键功能。该库与硬件解耦,可适配任意处理器平台和操作系统(包括裸机)。移植过程分为四步:获取源码、实现硬件读取函数、创建定时扫描任务、初始化与注册按键。库采用经典的三行扫描算法,通过事件回调机制上报按键状态,支持中断和低功耗场景。文中详细介绍了在ESP32平台上的移植步骤

文章图片
#c语言#mcu
Flexible Button 组件移植

FlexibleButton是一个基于标准C语言的轻量级按键处理库,支持单击、双击、连击、长按等多种按键事件,具有自动消抖和组合按键功能。该库与硬件解耦,可适配任意处理器平台和操作系统(包括裸机)。移植过程分为四步:获取源码、实现硬件读取函数、创建定时扫描任务、初始化与注册按键。库采用经典的三行扫描算法,通过事件回调机制上报按键状态,支持中断和低功耗场景。文中详细介绍了在ESP32平台上的移植步骤

文章图片
#c语言#mcu
I2C工作原理&I2C读写AT24C04

IIC总线工作原理与AT24Cxx EEPROM应用摘要 IIC(Inter-Integrated Circuit)是一种两线式串行总线(SCL时钟线、SDA数据线),采用开漏输出结构需外接上拉电阻,支持多主从设备通信。其核心机制包括: 通信时序:通过起始/停止条件(SDA跳变)控制数据传输,每字节后需应答位(ACK/NACK); 主从架构:主机发起通信并控制时钟,从机通过7位地址寻址; 速率模式

文章图片
#单片机#c语言#stm32
C语言面向对象代码分析

这段代码展示了在RT-Thread操作系统中使用C语言实现面向对象继承特性的方法。通过将父类结构体(rt_device)作为子类结构体(led_device)的首个成员,实现了内存布局的兼容性,使得父类指针可以安全地向下转型为子类指针。这种技术允许在统一的设备驱动框架(_led_init函数接收父类指针)中访问子类特有的成员(pin和led_status)。关键在于:1)结构体首个成员地址等同于结

#c语言#开发语言
RT-Thread Nano移植与学习

本文是RT-Thread操作系统的入门学习笔记,主要介绍了RT-Thread的特点、版本选择以及与FreeRTOS的对比,并详细记录了将RT-Thread Nano版本移植到STM32开发板的过程。RT-Thread是一款国产开源嵌入式实时操作系统,具有丰富的中间件、高度可裁剪性和活跃的中文社区等优势。作者通过对比RT-Thread的三个版本(Nano、标准版和Smart版),分析了各自的适用场景

文章图片
#学习#arm开发#c语言
到底了