Arduinoを使って文字コードを解析する
ArduinoのプログラミングをしていてSerial通信をさせるようなときに文字コードを確認したいときがちょこちょこあります。文字コードは、ウェブで検索すれば表を出してられるサイトが多々ありますが、この文字のコードが知りたいってときに表で探すのも手間な気がしたので簡単なコードを書いてみました。
動作は、Arduino IDEのシリアルモニターに文字を入力したらそのコードをシリアルモニターに返すだけの簡単なものです。
コードは以下のような感じです。
// JStringCode
// 2020.08.08
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
Serial.println("Send String.then echo string HEX.");
}
void loop() {
int sin;
String shex;
sin = Serial.read();
if( sin != -1 )
{
shex = String(sin,HEX);
//送信ボタンを押さずにエンターキーは無視したいので0x0aと0x0dは除外
if ( shex != "a" && shex != "d" )
{
Serial.print("Input Character=");
Serial.write(sin);
Serial.write("\n");
if ( shex.length() == 1 )
{
shex = "0" + shex;
}
shex = "0x" + shex;
Serial.print("Hex Code=");
Serial.println(shex);
Serial.write("\n");
}
}
}
ちなみに今回このコードの実行はArduino Dueで行いました。
実行結果の動画です。
この投稿へのトラックバック
トラックバックはありません。
- トラックバック URL
この投稿へのコメント