[英]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.