ホーム » スタッフ » 斉藤徹 » Computer » Arduinoのloop()の外

2010年2月
« 1月   3月 »
 123456
78910111213
14151617181920
21222324252627
28  

最近の投稿(電子情報)

アーカイブ

カテゴリー

Arduinoのloop()の外

卒研テーマにArduino+Ethernetシールドで何か作れないかと、個人的&指導的に Arduinoの中身を確認中。

Arduinoって、setup()とloop()を書けば動き出すんだけど、 Ethernetシールドのサンプルプログラムで、setup()の中に 様々な処理が書いてある。確認する前は、main()って、以下のような物だと思ってた。

int main() {
ArduinoのCPUの違いに応じたinit() ;
init() ;
ArduinoのCPUの違いに応じたsetup() ;
setup() ;
for(;;) {
周辺IO関連関数に伴なう処理() ;
loop() ;
}
return 0 ;
}

みたいなもんだと思ってた。だから setup() の中身に、何でも処理を書くと、 IOに絡む関数で動かなくなるものが出てくるだろう…と思っていたが、 /PATH/java/hardware/core/arduino/main.cxx を見ると、 順次必要な処理が並んでいるだけ。

int main( void ) {
init() ;
setup() ;
for(;;)
loop() ;
return 0 ;
}

これなら、IO系のシールドのライブラリ書く人は大変かもしれんが、 訳の分からない処理の制約はないな…