
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
本文探讨了STM32串口通信中判断数据帧接收完成的四种方法:1)超时判断法,通过字节间隔时间判断;2)特定帧头帧尾法,适用于固定格式协议;3)固定长度法,适合已知长度的数据;4)长度字段法,通过数据包中的长度信息判断。文章建议根据实际需求选择合适方法,推荐结合超时机制与协议解析,并介绍了DMA+IDLE中断的高效方案。最后强调要根据数据格式、协议要求和系统资源选择最优方案,其中超时判断与长度字段的

本文基于STM32F103平台设计了一套电机控制程序,为平衡车开发奠定基础。系统通过TIM1输出PWM驱动电机,TIM3编码器模式实时采集转速,TIM2定时器提供50ms中断触发转速计算。程序实现了电机正反转自动测试功能,采用状态机设计确保数据采集准确性,支持串口调试和匿名上位机通信。该方案采用模块化封装,重点解析了三个定时器的协同工作原理:TIM2作为心跳定时器,TIM3负责测速,TIM1控制P

本文详细介绍了AT命令模块的实现方案,重点包括:1)封装AT命令处理模块,实现与底层硬件解耦;2)采用信号量机制实现命令发送与返回数据的同步控制;3)构建硬件抽象层(HAL)和内核抽象层(KAL)提升系统可移植性;4)实现带超时检测的互斥量机制;5)设计完整的数据接收解析流程,包括特殊字符处理(如"+IPD")和状态管理;6)提供全局变量和缓冲区管理方案。通过FreeRTOS任

本文详细剖析了STM32F103C8T6开发中的常见问题,重点针对外设使用和内存管理两大维度。在外设方面,深入分析了GPIO模式配置、UART波特率计算、SPI时序匹配、ADC采样精度等高频错误;在内存管理方面,系统讲解了栈溢出、堆分配、全局变量过多等致命问题。每个问题都提供了"现象描述-原因分析-解决方案"的完整思路,并给出具体配置示例和优化建议。文章特别强调了这款芯片20K

本文介绍了一个AT指令发送函数的实现方法。该函数通过串口向WiFi/蓝牙模块发送AT指令,并等待模块返回"OK"响应。函数包含参数检查、FIFO清空、指令发送、超时等待等步骤,通过strstr()函数检测响应内容,返回0表示成功,-1表示超时,-2表示参数错误,-3表示指令错误。文章详细解释了入参检查、Tick计时、字符串查找等关键概念,并分析了FreeRTOS延时机制与超时判

本文记录了使用ESP8266实现MQTT功能的开发过程。首先通过AT指令测试建立基础通信,包括WiFi模式配置(STA/AP模式)和路由器连接。重点介绍了MQTT连接流程:配置TLS参数(域名+8883端口)、服务器连接、主题订阅与发布。开发中采用分层设计思路,使用环形缓冲区处理串口数据收发,并提供了串口发送函数示例。文章还包含TCP连接、数据发送长度控制等关键实现细节,为后续更换ESP32等芯片

本文记录了使用ESP8266实现MQTT功能的开发过程。首先通过AT指令测试建立基础通信,包括WiFi模式配置(STA/AP模式)和路由器连接。重点介绍了MQTT连接流程:配置TLS参数(域名+8883端口)、服务器连接、主题订阅与发布。开发中采用分层设计思路,使用环形缓冲区处理串口数据收发,并提供了串口发送函数示例。文章还包含TCP连接、数据发送长度控制等关键实现细节,为后续更换ESP32等芯片

本文详细记录了将IoTSharp/mqttclient移植到嵌入式系统的过程。该MQTT客户端具有高性能、跨平台特性,支持多种操作系统。移植重点包括:1) 实现网络部分(AT命令驱动ESP8266);2) 处理内存、线程、定时器等核心模块;3) 解决编译过程中的各类错误(头文件缺失、类型未定义、GNU扩展语法兼容等)。通过逐步调试和修改,最终完成了基础功能的移植,为后续功能完善奠定了基础。文中特别

本文详细记录了将IoTSharp/mqttclient移植到嵌入式系统的过程。该MQTT客户端具有高性能、跨平台特性,支持多种操作系统。移植重点包括:1) 实现网络部分(AT命令驱动ESP8266);2) 处理内存、线程、定时器等核心模块;3) 解决编译过程中的各类错误(头文件缺失、类型未定义、GNU扩展语法兼容等)。通过逐步调试和修改,最终完成了基础功能的移植,为后续功能完善奠定了基础。文中特别









