Arduinoの覚書

Arduino

pinMode関数の第2引数にINPUT_PULLUPキーワードが使える。

pinMode(2,INPUT_PULLUP);

アナログ入力ピンはデジタル入出力ピンとしても使用可能。

Fマクロ

print関数を使うと、文字列は起動時にFlashメモリからSRAMにコピーされます。
Arduino の SRAM は小さいので、少し長いプログラムを書くと直ぐにSRAM領域が不足してしまいます。
回避するためにはFマクロを使用して書きます。

Serial.print("Hellow"); → Serial.print(F("Hellow"));

FlexiTimer2

MsTimer2はは、割込み間隔が1ms 単位しか設定出来ないので、これより細かいタイミングを作ることが出来ません。
MsTimer2の上位互換のライブラリとしてFlexiTimer2があり、割込み周期をより細かく指定出来るようになっています。

ダウンロード

https://playground.arduino.cc/Main/FlexiTimer2/

使用方法

#include <FlexiTimer2.h>
//割り込み処理を記述
void timer2proc() {
}
void setup() {
 FlexiTimer2::set(500, timer2proc); // 500ms period
 FlexiTimer2::start();
}
void loop() {
}

■関数説明

FlexiTimer2::set(unsigned long ms, void (*f)()) 
第一引数:unsigned long ms:void (*f)()の実行をms毎に指定できます。
第二引数:void (*f)():実行する関数。

FlexiTimer2::start()
タイマー実行

FlexiTimer2::stop()
タイマー停止

参考サイト

コメント