2015年9月3日木曜日

Arduino digitalWriteをまとめて設定

digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
と、個別に書くのが面倒または同時に実行したい時は以下のように書く。
PORTD = B00011100;

Arduino pinModeをまとめて設定

pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, INPUT);
pinMode(6, INPUT);
pinMode(7, INPUT);
と、個別に書くのが面倒または同時に実行したい時は以下のように書く。
DDRD = DDRD | B00011100;
ピン0・ピン1は通信に使用されるので変更したくないので「|」(OR)を使用している。
「|」(OR)を使用すれば1にした所だけ変更されるからだ。
ピンの番号は右から数える。※0から
  • DDRD:ピン0〜7
  • DDRB:ピン8〜13
ピン9をOUTPUTにする場合はこのようになる。
「|」(OR)を使用してもいいが不要なので取った。
DDRB = B00000010;

2015年9月1日火曜日

Arduino シリアルモニタ文字化け2

Zigbee入出力データサンプル受信通知のAPIフォーマットからデジタルサンプルとアナログサンプルを取得時
デジタルサンプルのHighとLowともに0x0の時、文字化けが発生した。

Arduino(A)のIXOとArduino(B)のIXOが繋がっていたのが原因だったらしく
外したら問題なく表示された。

Arduino シリアルモニタ文字化け

setup()内に書いた転送レートとシリアルモニタ右下の転送レートを同じにしないと文字化けがおきます。