自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 传感器通讯协议

0E 为返回数据字节个数,共 14 个(16 进 制的 0E 等于 14),从 03 B0 到 03 06,为读得的各寄存器的数值,其中 03B0 为第一个寄存 器(地址 0 ,X 轴振动速度 RMS 平均值) 的值 ,01FE 为第二个寄存器的值,依此类推。一条完整的 03H 命令包括从机地址、功能码(03H)、读取的保存寄存器起始地址,读取的数量和 CRC 校验 码。功能码 06 主机发送和从机应答的信息帧格式相同,包括从机 地址、功能码(06)、预置单个寄存器地址,预置的数据和 CRC 校验码。

2025-04-14 19:40:43 428

原创 C 语言串口解析常用函数解析:字符数组 vs 字符串数组2.0

串口通信中,无论是解析命令、提取参数,还是格式化输出,都离不开 C 标准库函数。然而,这些函数大多假设输入是以\0结尾的字符串。如果输入是一个无\0的字符数组,可能导致未定义行为。strlenstrcpystrcatstrstrstrncmpmemcpymemmovesscanfsprintfsnprintfatoiatolatofisspaceisdigitisalphastrtok我们会分析这些函数在字符数组和字符串数组中的行为差异,并为每个函数提供声明和形参作用说明。函数类型推荐函数注意事项。

2025-03-22 21:05:14 455

原创 C 语言串口解析常用函数解析:字符数组 vs 字符串数组 1.0

函数输入类型行为描述注意事项strlen字符数组(无\0未定义行为,可能越界读取必须确保有\0strlen字符串(有\0返回\0前字符数正常工作strnlen字符数组(无\0返回maxlen或直到越界前长度更安全,但结果可能不可靠strnlen字符串(有\0返回\0前字符数,最多不超过maxlen安全且可靠函数输入类型行为描述注意事项strcpy字符数组(无\0未定义行为,越界读取直到找到\0必须确保src有\0strcpy字符串(有\0复制整个字符串,包括\0正常工作strncpy。

2025-03-22 20:56:24 926

原创 printf函数%c和%s细节

特性%s%c用途打印完整字符串打印单个字符要求必须以'\0'结尾无需'\0'安全性无'\0'时有风险安全,逐个指定灵活性适合固定字符串适合逐个字符或非字符串适用示例"012\0"对于推荐:用%c(如),因为它没有'\0'。替代:如果想用%s,需改为。

2025-03-10 20:24:01 1413

原创 memset 函数补充

memset声明在<string.h>返回值:返回指向填充后内存区域的指针(即ptr功能:将从ptr开始的num个字节设置为value的值。用法memset(指针, 值, 字节数)。参数ptr:目标内存地址。value:要填充的字节值(截取低 8 位)。num:填充的字节数。特点:简单高效,适合清零或填充单字节值。在C语言中,memset也可以用来初始化或填充结构体,它的用法和填充数组类似,因为结构体在内存中也是一块连续的区域。以下是关于如何使用memset处理结构体的详细说明。memset。

2025-03-10 19:44:15 1168

原创 c语音数字转字符串函数

在C语言中,尤其是在单片机开发(如STM32F1系列)中,将数字(整数或浮点数)转换为字符串是非常常见的操作,比如用于显示到LCD、通过串口发送数据或调试输出。

2025-03-10 00:55:48 307

原创 c语言字符串转数字函数

在单片机开发中(例如STM32F1系列),经常需要将字符串形式的数字(比如从串口、传感器或配置文件读取的数据)转换为阿拉伯数字,以便进行计算或控制。

2025-03-10 00:51:25 302

原创 串口收发解析常用的c语言的库函数

这些函数都在字符串操作和数据处理方面非常重要,尤其在 STM32 的串口应用中。sscanf用于从接收到的字符串中解析数据,strcmp和strncmp用于比较数据,memset用于初始化缓冲区,strncpy用于防止缓冲区溢出。对于 STM32 的串口通信,通常涉及到使用和来发送和接收数据。以下是对sscanfstrcmpmemsetstrlenstrncmpstrncpy的详细解析及它们在 STM32 串口数据接收、解析和数据发送中的实际应用示例。sscanf用于从串口接收到的字符串中解析数据。

2025-03-05 00:42:18 595

原创 标准库实现串口接收的方法(普通接收,串口中断+超时解析,DMA+空闲中断及RingBuffer和DMA双缓冲)

/ 接收缓冲区// 接收长度// 处理数据用的缓冲区。

2025-03-04 17:42:53 733

原创 hal库的串口超时解析和DMA空闲中断对比

普通超时方式适合简单场景或调试,但效率较低。DMA 空闲中断方式适合大数据量传输或高实时性需求,效率更高,但需要额外配置 DMA。

2025-03-04 17:14:37 366

原创 【无标题】

在 C 语言中,`char` 类型可以用来初始化单个字符,或者通过 **字符数组** 或 **指针** 来初始化一个字符串。字符串本质上是以 **`'\0'`(空字符)** 结尾的字符数组。| 初始化多行字符串 | `char strs[3][20] = {...};| 初始化空字符串 | `char str[10] = {'\0'};

2024-11-26 20:40:36 673

原创 C 语言 数据类型所用格式说明符

类型格式说明符说明float%f%.Nf浮点数输出double%f%e双精度浮点数输出int8_t%d%hhd有符号 8 位整数uint8_t%u%hhu无符号 8 位整数int16_t%d%hd有符号 16 位整数uint16_t%u%hu无符号 16 位整数int32_t%d%ld有符号 32 位整数uint32_t%u%lu无符号 32 位整数这些格式说明符可以确保数据以正确的格式输出。在printf中%f和%lf可以互换,用于输出double或float。在scanf中%f。

2024-11-03 16:46:18 2066

原创 sizeof使用方法

sizeof是C/C++语言中的一个运算符,用于计算数据类型或对象所占用的字节数。在程序开发中,它非常有用,可以用来确定变量、数组、结构体等的大小,以便为内存分配和数据处理提供准确的尺寸信息。

2024-10-15 22:59:12 770

空空如也

空空如也

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

TA关注的人

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