Top > Arduino > tips

広告

アセンブラを入れる

例えば何もしない「NOP」を入れる場合。

__asm__("nop\n\t");

いくつか連続した命令を実行するとき

__asm__("nop\n\t""nop\n\t");

参考リンク

デジタルIOを直接たたく

digitalWriteが遅いので、高速でON-OFFしたいとき。
ポートBのHigh-Lowを設定

PORTB = B00000011;

この時、PB0とPB1がHighになる。

サーボモータを動かす。

  • サーボモータ用のライブラリを使うと簡単。Exampleもあり(servo)
  • モータは大きな電流を使うので、サーボモータを動かすと誤動作する場合あり。
    • USBからの電源だけでは苦しい。

サーボモータの駆動とシリアル通信を行う場合

  • なぜか先にサーボモータを設定する必要あり
    Servo servo;
    int sv_pin = 9;
    void setup() 
    {
     servo.attach(sv_pin);
     Serial.begin(38400);
    }
    • 多分、ピンの取り合いだと思う
  • モータの消費電流が大きいと、シリアル通信が止まるときがある。

広告

リロード   差分   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: Fri, 06 Apr 2012 19:56:46 JST (4396d)