セクションの複数ページをまとめています。 印刷またはPDF形式で保存...

もとのページに戻る

2024-11-14 現在

Timer0 .. 4

タイマー, PWM (mwx::periph_timer)
    タイマーでは、指定周期でのソフトウェア割り込みを発生させる目的、指定周期でPWM出力を行う2つの機能があります。TWELITE無線モジュールには0..4まで合計5つのタイマーが利用可能です。

    組み込みオブジェクト名は Timer0..4 ですが、このページでは TimerXと記載します。

    メソッド

    setup()

    void setup()

    タイマーを初期化します。この呼び出しにより必要なメモリ領域の確保を行います。

    begin()

    void begin(uint16_t u16Hz, bool b_sw_int = true, bool b_pwm_out = false)

    タイマーを開始します。1番目のパラメータは、タイマーの周期でHzで指定します。2番目のパラメータをtrueにするとソフトウェア割り込みが有効になります。3番目のパラメータをtrueにするとPWM出力を有効にします。

    end()

    void end()

    タイマーの動作を停止します。

    available()

    inline bool available()

    タイマー割り込みが発生した直後のloop()trueになり、loop()が終了すればfalseになります。

    change_duty()

    void change_duty(uint16_t duty, uint16_t duty_max = 1024)

    デューティー比の設定です。1番目のパラメータにデューティ比を指定します(小さい値を指定すると波形の平均はGNDレベルに近づき、大きい値を指定するとVccレベルに近づく)。2番目のパラメータはデューティ比の最大値を指定します。

    change_hz()

    void change_hz(uint16_t hz, uint16_t mil = 0)

    タイマーの周波数を設定します。2番目のパラメータは周波数の小数点3桁分の値を整数で指定します。例えば 10.4 Hz としたい場合は hz=10, mil=400 と指定します。