読者です 読者をやめる 読者になる 読者になる

Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

Arduinoでゼロ埋めや右詰めした文字列を関数に渡したいなら、諦めてsprintf

arduino

shuzo-kino.hateblo.jp
の続きみたいな話です。

実際のところ

void setup() {
  // put your setup code here, to run once:
   Serial.begin(19200);
   while (Serial.available()) { ; } 
  

  //まずは何も考えずに
  Serial.println(B0001);

  //駄目元で型キャストだ!
  Serial.println(String(B0001));

  //当然動かないので、sprintfをつかおう
  char sendPacket[24] = "";
  sprintf(sendPacket, "%04d", B0001);
  Serial.println(sendPacket); 
}

まぁ、当然というか結果はこうなります。

1
1
0001