完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
遇到奇怪的问题,固定输出123456可以正常接收显示,动态数值只能接收最多3位。
main.c代码 cgg是int类型 如下为串口发送代码: #include <rtthread.h> #define SAMPLE_UART_NAME "uart2" /* 需要操作的设备 */ static rt_device_t serial; /* 设备句柄 */ //static char str[] = "123456 "; /* 需要发送的数据 */ void uart_send(char *str) //void uart_send() { rt_err_t ret = RT_EOK; rt_size_t send_len = 0; /* 查找系统中的串口设备 */ serial = rt_device_find(SAMPLE_UART_NAME); if (!serial) { rt_kprintf("find %s failed! ", SAMPLE_UART_NAME); } /* 以中断接收及轮询发送模式打开串口设备 */ ret = rt_device_open(serial, RT_DEVICE_FLAG_INT_RX); if (ret != RT_EOK) { rt_kprintf("open device failed "); } /* 发送字符串 */ send_len = rt_device_write(serial, 0, str, (sizeof(str) - 1)); if (send_len != sizeof(str) - 1) { rt_kprintf("send data failed "); } /* 关闭设备 */ ret = rt_device_close(serial); if (ret != RT_EOK) { rt_kprintf("close device failed "); } //rt_kprintf("serial device test successful "); } 固定发送123456,串口接收到的是正常的 动态传值过来,串口接收最多只能长度3位。 |
|
相关推荐
4个回答
|
|
|
|
|
|
sizeof是运算符,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。
由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。实际上,用sizeof来返回类型以及静态分配的对象、结构或数组所占的空间,返回值跟对象、结构、数组所存储的内容没有关系。 具体而言,当参数分别如下时,sizeof返回的值表示的含义如下: 数组——编译时分配的数组空间大小; 指针——存储该指针所用的空间大小(存储该指针的地址的长度,是长整型,应该为4); 类型——该类型所占的空间大小; 对象——对象的实际占用空间大小; 函数——函数的返回类型所占的空间大小。函数的返回类型不能是void。 官方示例的str是char型数组,sizeof是获取的数组元素的字节数,而你的str是个指针,获取的是存储该指针所用空间大小,即为4。 |
|
|
|
|
|
你代码的问题你sizeof一个指针在32位系统就是得4的,然后你sizeof -1就等于3啊,没毛病
|
|
|
|
|
|
char str1[] = "1";
char *str2 = "1"; printf("%drn", sizeof(str1)); printf("%drn", sizeof(str2)); 楼上说得对,兄弟把这个试试就知道了。 |
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1033 浏览 0 评论
2877 浏览 0 评论
图腾柱PFC无法上升至400V,且电感电流为正弦波形,但是幅值极小
9386 浏览 0 评论
飞凌嵌入式ElfBoard-Vim编辑器之静态链接和动态链接
2898 浏览 0 评论
使用 LinkBoy 将程序导出为 C 语言代码并烧录至 Arduino ESP32 开发板
2302 浏览 1 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 05:39 , Processed in 0.745716 second(s), Total 78, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1020