logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

USB 协议层完整数据格式解析

本文深入解析USB协议层的数据格式与传输规则。USB采用一主多从架构,通过标准化数据包实现精准通信。数据包由SOP、SYNC、内容和EOP组成,其中PID标识域包含传输方向和包类型信息。令牌类包实现设备通知功能,分为广播式(SOF)和点对点(OUT/IN/SETUP)两种。完整USB事务包含令牌、数据和握手三个阶段,通过地址+端点号精确定位设备。协议层遵循"位→域→包→事务"的

文章图片
#嵌入式#学习#操作系统
STM32 智能垃圾桶项目笔记(五):语音合成模块(SYN6288)配置与语音播报实现

本文介绍了基于STM32和SYN6288语音合成模块实现智能垃圾桶语音播报功能的完整流程。主要内容包括:1)SYN6288模块特性与接线方式,采用5V供电和UART通信;2)通信协议解析,帧帧格式为帧头+数据区长度+数据区;3)CubeMX配置串口2为9600波特率;4)代码实现,封装驱动函数构造语音帧EG如“欢迎使用”并发送,主程序实现中文播报功能。通过GBPUTTEXT将中文转换为GB2312

文章图片
#stm32#c语言#单片机
关系与逻辑运算 —— 寄存器操作的 “入门钥匙”

这篇笔记系统梳理了嵌入式开发中的关系运算和逻辑运算。关系运算(如>、==)用于比较值的关系,结果为真(1)或假(0)。逻辑运算包括按位运算(&、|、^、~、<<、>>)和条件组合运算(&&、||)。按位运算可对寄存器进行清零、置1和翻转位操作,而逻辑运算常用于条件组合判断。文中通过代码示例演示了各种运算符的用法,并区分了易混淆的按位与赋值(&a

文章图片
#c语言#单片机
用 Keil5 理解 C 语言指针(三):指针类型与位运算实践

本文探讨了嵌入式开发中指针类型选择与位运算的协同应用。针对32位单片机硬件操作,分析了使用int *指针直接操作32位寄存器的优势,相比char *指针可避免多次分步操作。重点解析了位运算(与、或、移位等)的原理及其在寄存器控制中的关键作用,通过GPIO控制LED实例,展示了如何通过位运算精准修改特定位而不影响其他引脚状态。文章强调指针确定操作地址、位运算限定操作范围的硬件控制范式,为后续数组与指

文章图片
#c语言#单片机
嵌入式 C 语言入门:循环结构学习笔记 —— 从语法到实用技巧

本文介绍了C语言中三种循环结构(while、do-while、for)的语法、执行逻辑及嵌入式应用场景。while循环先判断后执行,do-while至少执行一次循环体,for循环整合初始化、条件和更新表达式。通过实例展示了如何计算数字和、字符串操作等基础应用,并对比了while与do-while在处理空字符串时的差异。文章还讲解了break和continue对循环的控制作用,以及如何结合if语句提

文章图片
#c语言#学习#stm32
用 Keil5 理解 C 语言(一):变量内存和原码反码与补码

本文通过Keil5调试实践,探讨了C语言变量内存分配与数据编码问题。实验验证了char和int类型变量的存储空间差异(1字节和4字节),分析了变量赋值超出范围时的截断现象。重点讲解了原码、反码和补码的转换原理,通过-1+1的计算示例演示了补码在计算机运算中的必要性。文章还展示了如何在Keil中观察变量内存地址,并解释了符号位对数值解析的影响。最后指出,理解这些底层机制对嵌入式开发至关重要,为后续学

文章图片
#c##单片机
用 Keil5 理解 C 语言变量(二):赋值逻辑、数据传递与运算特性

摘要:本文记录了嵌入式C语言学习中的变量赋值、数据传递与运算实验。通过串口调试验证了不同类型变量(char/int)的赋值与输出特性,揭示了数据截断、ASCII编码转换等底层机制。重点分析了整数除法与强制类型转换的区别,并解析了自增/自减运算符的执行顺序。实验表明:变量存储范围决定数据保留能力,输出格式控制数据呈现形式。这些基础概念为后续指针学习奠定了基础。硬件配置与代码示例同步提供,适合嵌入式初

文章图片
#c##单片机
STM32HAL 快速入门(二十三):UART 编程(五)—— printf/scanf 重定向

摘要 本文针对嵌入式UART开发中的两个常见需求提出解决方案: 多串口回调冲突:通过在各UART回调函数(如发送完成、接收完成、IDLE中断)中添加句柄判断(如if(huart == &huart1)),确保仅响应目标串口事件,避免数据错乱。 标准库函数重定向: 配置Keil使用MicroLib轻量库,重写fputc和fgetc函数,将printf/scanf重定向至USART1。 解决s

文章图片
#stm32#嵌入式硬件#单片机 +1
STM32HAL 快速入门(八):GPIO 中断 —— 从概念到工作流程

文章摘要:本文介绍了中断机制在嵌入式系统中的重要性。传统循环查询方式存在漏检信号的问题,而中断通过硬件主动通知CPU实现高效响应。文章详细阐述中断概念,类比生活中被门铃打断的场景,解释中断处理流程(保存现场→处理中断→恢复现场)。从硬件层面分析中断属于CPU异常的一种,并说明中断优先级处理机制。最后总结中断从初始化到执行的6个步骤,强调硬件自动完成核心环节,程序员只需配置中断和编写服务程序。下篇将

文章图片
#stm32#单片机#c语言 +1
FreeRTOS 入门(五):栈的核心原理与函数调用机制

本文深入解析了FreeRTOS中栈的核心原理与函数调用机制。通过实例代码展示三层函数嵌套调用,结合反汇编分析揭示了栈的关键作用:保存返回地址(LR)防止嵌套调用时被覆盖。栈通过"先进后出"特性匹配函数调用逻辑,确保正确返回。文章还预告了后续将探讨局部变量存储机制和FreeRTOS任务栈设计,为理解RTOS多任务调度奠定基础。通过底层汇编分析,清晰呈现了栈在嵌入式系统中的基础性作

文章图片
#学习#嵌入式
    共 19 条
  • 1
  • 2
  • 请选择