- 博客(6)
- 收藏
- 关注
原创 printf 函数的一个格式化输出控制符
C语言格式说明符详解:格式说明符由%开头,包含标志、宽度、精度、长度和类型五个部分。标志控制填充方式(如%02X用0填充),宽度指定最小输出宽度,精度控制小数位数或字符串长度,长度修饰符(如%lld)指定参数大小,类型决定输出格式(如%X为十六进制)。在跨平台开发时需注意:Windows使用%I64d输出64位整数,而Linux/macOS使用%lld,可通过_WIN32宏进行条件编译处理。预处理指令#ifdef在编译前处理,而if语句在运行时判断,前者用于平台相关代码和功能开关,后者处理运行时逻辑。
2025-12-11 11:51:53
666
原创 MQTT协议连接华为云服务器为RTC提供实时时间校准
本文介绍了两种物联网设备连接云端的方法:1) 通过AT指令在STA模式下连接云服务器,详细说明了从初始化到数据透传的完整指令序列;2) 使用MQTT协议连接华为云平台,分析了连接报文、发布/订阅报文和心跳报文的处理流程。重点阐述了华为云设备时间同步的实现方案,包括时间请求/响应机制、NTP算法消除网络延迟、13位时间戳处理及RTC时间同步等关键技术。文中还提供了代码示例,展示了如何通过MQTT协议实现设备与云端的时间同步,并解决了大整数处理、字符串转换等技术难点。
2025-12-07 01:54:01
1136
原创 字符串比较函数
本文介绍了C语言中常用的字符串比较函数及其应用场景。主要内容包括:1) strcmp和strncmp函数的基本用法及区别;2) Windows平台特有的stricmp和Linux平台的strcasecmp函数;3) STM32开发中实现不区分大小写字符串比较的自定义方法;4) tolower函数的正确使用方式及注意事项。文章特别强调了跨平台兼容性问题和类型转换的正确处理,并提供了优化内存使用的简化实现方案。这些内容对嵌入式开发和跨平台编程具有实用参考价值。
2025-12-04 20:54:36
457
原创 STM32中PRIGROUP值优先级分组与SysTick定时器优先级理解
本文分析了STM32中PRIGROUP优先级分组机制和SysTick定时器优先级配置。PRIGROUP值决定抢占优先级和亚优先级的位数分配,取值范围0-7对应不同的位分配方案。在STM32中仅使用高4位进行分组(0-4组)。SysTick定时器通过NVIC_SetPriority函数设置优先级,传入参数(1UL<<4)-1UL=0xF,经移位运算后得到0xF0值,由于STM32只看高4位(1111),使其优先级始终最低。文章详细解析了优先级位分配原理和具体实现过程。
2025-12-02 20:20:44
801
原创 串口通信中一键下载电路分析
摘要:本文详细解析了FlyMcu下载配置的工作原理,重点说明了DTR和RTS电平设置与电路反相的关系。通过三极管反向电路实现复位信号(BOOT0高电平)和启动模式转换,详细描述了下载过程的三个关键阶段电平变化。同时介绍了选项字节区的配置注意事项,以及硬件流控制中各引脚的功能定义和数据收发流程控制机制,包括DTR就绪指示、典型时序和CTS/RTS流控机制。全文系统阐述了串口下载的硬件电路原理和通信控制逻辑。
2025-12-01 16:43:01
1107
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅