单片机用printf发送串口数据

TI=1;printf("item%d.bco=612800",row);sendend();TI=1;printf("item%d.bco=10400",exrow);... TI=1;
printf("item%d.bco=612800",row);sendend();
TI=1;
printf("item%d.bco=10400",exrow);sendend();

我在助手只能接收到61280 1040。如果程序中改成61280 1040,就只能接收到6128 104.为什么?
展开
 我来答
轨迹AIOT
2018-08-30 · TA获得超过890个赞
知道小有建树答主
回答量:231
采纳率:81%
帮助的人:32.9万
展开全部

printf中%d输出的最大即是2的32次方个长度;

2^32=42949 6729 6

你的61280 10400 已经超出了这个范围。

所以只能显示61280 1040

你的数要在42949 6729 6之内,如果需要把61280 10400 全部显示出来,很简单

把%d改为%ld

因为%ld输出的最大即是2的64次方个长度,即2^64=18446744073709551616

迪凯特科技(北京)有限公司_
2025-01-03 广告
要从电脑的一个串行口接收数据并将其从另一个串行口发送出去,你可以使用以下步骤:1. 确定你要使用的两个串行口。在大多数计算机上,串行口通常被称为COM1、COM2等。确保你了解每个串行口的名称或编号。2. 编写一个程序来读取来自一个串行口的... 点击进入详情页
本回答由迪凯特科技(北京)有限公司_提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式