/      English

TWENETmwf - ペリフェラルC++ライブラリ

マイコンのペリフェラルを扱うためのライブラリ
マイコンのペリフェラルを扱う手続きを C++ クラスとして、簡素化したものです。

TWENETmwf - ペリフェラルC++ライブラリ

マイコンのペリフェラルを扱う手続きを C++ クラスとして、簡素化したものです。

定義済みオブジェクトが用意されており(例mwf::the_i2c0はI2C0)、このオブジェクト経由で機能にアクセスします。定義済みオブジェクトはstd::unique_ptr<>によるスマートポインタで、初回の初期化により実体を構築します。

このライブラリでは定義済みオブジェクトは、スリープ前、スリープ復帰時の手続きが含まれ、一括してスリープ前処理、復帰処理を行うことが出来ます。

ペリフェラルオブジェクトについて

ペリフェラルの多くは、初期化などの手続きが一体になっています。そのため、クラスオブジェクトとして、その生成から破棄までを管理します。

クラスオブジェクトは、全て std::unique_ptr<> によるスマートポインタになっています。オブジェクトの生成前は nullptr になっているため、いかなるアクセスも行えません(おそらくヌルポインタアクセスによりハングアップします)。利用時には nullptr のチェックを挟むようにしてください。

   if (the_adc) { // nullptr チェックをしてから
      the_adc->enable((1UL << 0) | (1UL << 1));
      the_adc->start();
   }

定義済みのペリフェラルクラスオブジェクト

オブジェクト名説明
the_adcアナログディジタル変換(ADC)を利用する
the_gpio汎用IO(GPIO)割り込みを利用する。(割り込みを利用しない場合はクラスオブジェクトは利用しません)
the_i2c0I2Cバスを利用する。(I2C0のみ)
the_ntagNTAG用のEEPROMを利用する
the_pwm[0..9]PWM0..9を利用する
the_rng乱数生成ライブラリ
the_spi1SPIバスを利用する (SPI1のみ)
the_wtimerウェイクアップタイマーを利用する
the_wwdtウォッチドッグタイマーを利用する

ライブラリについて

オブジェクト名説明
mwf_common共通定義、ペリフェラルオブジェクトの基底クラスの定義
mwf_periph_common共通定義、ピン操作のための手続き
mwf_periph_adcADC利用のための手続き
mwf_periph_gint汎用IO(GPIO)割り込み
mwf_periph_i2cI2Cバスを利用する。(I2C0のみ)
mwf_periph_ntagNTAG用のEEPROMを利用する
mwf_periph_pwmPWM0..9を利用する
mwf_periph_rng乱数生成ライブラリ
mwf_periph_spiSPIバスを利用する (SPI1のみ)
mwf_periph_wtimerウェイクアップタイマーを利用する
mwf_periph_wwdtウォッチドッグタイマーを利用する

名前空間について

原則として、以下の名前空間にクラスや関数を定義しています。

  • mwf::
  • mwf::periph::

mwf_common

mwf 共通定義

mwf_periph_common - ペリフェラル共通

mwf_periph_common - ペリフェラル共通

mwf_periph_adc - ADC

mwf_periph_adc - ADC

mwf_periph_gint - GINT(GPIO)

mwf_periph_gint - GINT(GPIO)

mwf_periph_i2c - I2C

mwf_periph_i2c - I2C

mwf_periph_ntag - NTAG

mwf_periph_ntag - NTAG

mwf_periph_pwm - PWM, Timer

mwf_periph_pwm - PWM, Timer

mwf_periph_rng - TRNG

mwf_periph_rng - TRNG

mwf_periph_spi - SPI

mwf_periph_spi - SPI

mwf_periph_wtimer - WTIMER, FRWT

mwf_periph_wtimer - WTIMER, FRWT

mwf_periph_wwdt - WWDT

mwf_periph_wwdt - WWDT

class tick_counter - Stop Watch

class tick_counter - Stop Watch

mwf-utils - utils

mwf-utils - utils