タグ

ブックマーク / easylabo.com (4)

  • Arduino入門:外部割り込み | easy labo

    Arduinoの外部割込みについて解説します。 attachInterrupt attachInterruptは、外部割り込みが発生時に実行する関数を指定する場合に使用します。なお、既に関数が指定されていた場合は置き換えられます。設定パラメータは次の通りです。 interrupt: 割り込み番号 0または1(*) function: 割り込み発生時に呼び出す関数 mode: 割り込みを発生させるトリガ modeは、割込みを発生させるトリガ設定に使用し、次のものから選択します。 LOW ピンがLOWのとき発生 CHANGE ピンの状態が変化したときに発生 RISING ピンの状態がLOWからHIGHに変わったときに発生 FALLING ピンの状態がHIGHからLOWに変わったときに発生 (*)使用可能な割込み番号 ほとんどのArduinoボード: 割り込み0(ピン2) 割り込み1(ピン3)

    Arduino入門:外部割り込み | easy labo
    takuwz
    takuwz 2019/11/29
  • Atmel Studio入門:割り込み処理 | easy labo

    今回は、8bit AVRマイコンの割り込みについて説明したいと思います。 割り込みとは? AVRマイコンは、同時に一つの処理しか実行できません。このため、ハードウェアからのトリガーを元に優先すべきサブルーチンを実行する「割り込み」と呼ばれる仕組みが備わっています。良く利用される割り込みの例としては、タイマーやUARTの送受信、コンパレータの判定が変化した時などが挙げられます。 具体的には、次の様なプロセスで割り込みは処理されます。 (1)割り込み要求IRQ(Interrupt Request)が周辺回路から発行される。 (2)次に実行予定であったアドレスをスタックに格納する。 (3)現在実行中の命令を完了させる。 (4)割り込み処理ルーチンISR(Interrupt Service Routine) に制御を移す。 (5)割り込み処理終了後、来実行予定であった(2)のプロセスに戻る。 以

    Atmel Studio入門:割り込み処理 | easy labo
    takuwz
    takuwz 2018/08/15
  • Arduino入門:Flash領域へのデータ格納 | easy labo

    ArduinoのSketch(スケッチ)で、データをFlashメモリ(プログラム領域)へ格納する方法を解説します。 変更の必要がない文字列等でデータ量が多い場合、それらを、Flashメモリへ格納する事で、SRAMの負担を減らす事が出来ます。 PROGMEM修飾子 PROGMEM修飾子を変数宣言時に使用する事で、Flashメモリにデータを格納できますが、pgmspace.hライブラリをインクルードする必要があります。また書式は次の2通りです。 #include dataType varArray[] PROGMEM = {data0, data1...}; //or PROGMEM dataType varArray[] = {data0, data1...}; // dataType: data type // varArray: name of array 注意点としては、pgmspac

    Arduino入門:Flash領域へのデータ格納 | easy labo
    takuwz
    takuwz 2018/06/28
  • Arduino入門:Stringクラス | easy labo

    ArduinoのStringクラスは、arduino-0019からコアに加えられた機能です。Stringクラスも従来の配列型と同じく文字列の操作が行えます。 Stringクラスでも文字列の操作が行えますが、その利点と欠点等を以下にまとめてみます。 利点 配列型の文字列よりも複雑な連結、追加、置換、検索といった操作が可能です。 欠点 配列型より多くのメモリを消費します。 備考 ダブルクオーテーションマークで囲まれた文字列定数は、これまでどおり配列として処理されます。 Stringクラスの書式 Stringクラスのコンストラクタの書式は下記の通りです。コンストラクタとは、インスタンス(Stringクラスのオブジェクト)を生成する宣言と思えば良いでしょう。 //Arduino Sketch Example: Straing Class, Syntax of Constructor //Date:

    Arduino入門:Stringクラス | easy labo
    takuwz
    takuwz 2016/10/23
  • 1