« [Japanino] クロック精度 | トップページ | [Japanino] 光残像キット »

2010年6月23日 (水)

[Japanino] snprintfを使ってみた

Arduinoでもprintf系が使えるらしいので前回のスケッチの出力部分をsnprintfで書き直してみた。


前回のコード

void print_time()
{
  int hh, mm, ss;

  hh = count/3600;
  mm = (count%3600)/60;
  ss = count%60;

  Serial.print(hh/10);
  Serial.print(hh%10);
  Serial.print(":");
  Serial.print(mm/10);
  Serial.print(mm%10);
  Serial.print(":");
  Serial.print(ss/10);
  Serial.println(ss%10);
}

コンパイル後のスケッチのサイズ:2,744バイト(最大容量14,336バイト)


snprintfを使ったコード

#include <stdio.h>    // printf系を使うのに必要

void print_time()
{
  int hh, mm, ss;
  char buffer[9];

  hh = count/3600;
  mm = (count%3600)/60;
  ss = count%60;

  snprintf(buffer, sizeof(buffer), "%02d:%02d:%02d", hh, mm, ss);
  Serial.println(buffer);
}

コンパイル後のスケッチのサイズ:4,102バイト(最大容量14,336バイト)

snprintfを使った方はサイズがだいぶ大きいが、メモリーには余裕があるしこれでいいと思う。

« [Japanino] クロック精度 | トップページ | [Japanino] 光残像キット »

Arduino」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: [Japanino] snprintfを使ってみた:

« [Japanino] クロック精度 | トップページ | [Japanino] 光残像キット »