繁体   English   中英

包括通过Arduino Uno板上的串行端口发送的32位变量的前导零

[英]Include leading zeros of a 32 bit variable, sent over serial port on Arduino Uno board

我想通过串行端口发送一个长变量。 该代码作为纯C代码工作:

long var = 1000000;
char arr[32];
sprintf(arr,"%.8X",var);
printf("%s",arr);

产生期望的输出000F4240

但是在Arduino上,我无法使等效代码正常工作

long var = 1000000;
char arr[32];
sprintf(arr,"%.8X",var);
Serial.print("%s",arr);

这总是导致00004240,而忽略了MSB和第3个字节。

感谢您的所有时间和帮助!!!

似乎arduino的sprintf的实现只能以十六进制表示形式转换为一个int ,而不是一个long int 。但是我不确定...

奇怪... 这个问题是相反的

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM