Top > Arduino > tips

広告
  • 追加された行はこの色です。
  • 削除された行はこの色です。
  • Arduino/tips へ行く。

*アセンブラを入れる [#ubf304bf]
例えば何もしない「NOP」を入れる場合。
 __asm__("nop\n\t");
いくつか連続した命令を実行するとき
 __asm__("nop\n\t""nop\n\t");
**参考リンク [#m9e37e17]
-[[AVR-GCCインラインアセンブラ便利帳:http://ww2.tiki.ne.jp/~maro/AVR/programing/AvrGccInLineAsm.html]]
*デジタルIOを直接たたく [#m8de49f2]
digitalWriteが遅いので、高速でON-OFFしたいとき。~
ポートBのHigh-Lowを設定
 PORTB = B00000011;
この時、PB0とPB1がHighになる。

*サーボモータを動かす。 [#k8ab0b30]
-サーボモータ用のライブラリを使うと簡単。Exampleもあり(servo)~
--[[建築発明工作ゼミ2008:http://kousaku-kousaku.blogspot.jp/2008/06/arduino.html]]
-モータは大きな電流を使うので、サーボモータを動かすと誤動作する場合あり。
--USBからの電源だけでは苦しい。
**サーボモータの駆動とシリアル通信を行う場合 [#qf0d0100]
-なぜか先にサーボモータを設定する必要あり
 Servo servo;
 int sv_pin = 9;
 void setup() 
 {
  servo.attach(sv_pin);
  Serial.begin(38400);
 }
--多分、ピンの取り合いだと思う
-モータの消費電流が大きいと、シリアル通信が止まるときがある。

広告

リロード   差分   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS