BusOut

(2014.4.14 作成)

DigitalOutクラスを束ねてまとめて処理を行うためのクラスです。

コンストラクタ

プロトタイプ

BusOut(

    IDigitalOut **PinArray,

    const uint8_t &NumOfPins

);

戻り値

なし

引数

 

PinArray

DigitalOutクラスの配列。ポインタ配列として渡す

NumOfPins

配列で渡すピンの数

備考

なし

コンストラクタ

プロトタイプ

BusOut(

    const uint8_t &NumOfPins,

    ...

);

戻り値

なし

引数

 

NumOfPins

配列で渡すピンの数
...

 

NumOfPinsで指定された数のDigitalOut*型(ポインタ)を順番に渡す。

備考

可変長引数でクラスを作成します。特に渡すピン数に制約はありません。

指定されたPinよりHigh/Lowを出力

プロトタイプ void write(const uint32_t &value)const;
戻り値

なし

引数

value

プッシュプル端子設定の場合

    0でLow, それ以外はHighを出力

オープンドレイン端子設定の場合

    0でLow, それ以外でHi-Z

備考

オープンドレイン/プッシュプルの切り替えはSetMode関数を使用してください。

指定されたPinの設定を変更する

プロトタイプ

virtual void mode(

    const PinPOMode &POMode,

    const PinPuPdMode &PuPdMode

)const=0;

戻り値

なし

引数

POMode

プッシュプル または オープンドレインをしていします

PuPdMode

Pull-Up/ Pull-Downを設定します

備考

 

指定されたPinのHigh/Low設定を取得する

プロトタイプ uint32_t read(void)const;
戻り値

読み取った設定値

引数

なし

備考

 

writeの別表現

プロトタイプ BusOut& operator= (const uint32_t &value);
戻り値

なし

引数

value

0または1

備考

writeの別表現です。

readの別表現

プロトタイプ operator uint32_t(void)const; 
戻り値

読み取り結果

引数

なし

備考

readの別表現です。

個別ピンへのアクセス

プロトタイプ IDigitalOut* operator[] (const uint8_t &i)const;
戻り値

ピンへのポインタ

引数

配列内の順番

備考

 

サンプルコード

#include "DKS_GPIO_Discovery_F3.h"
 
int main(void)
{
    DKS::DigitalOut p0(GPIOE, GPIO_Pin_0);
    DKS::DigitalOut p1(GPIOE, GPIO_Pin_1);
    DKS::DigitalOut p2(GPIOE, GPIO_Pin_2);
    DKS::BusOut bus(3, &p0, &p1, &p2);
    bus=1;
    while(1)
    {
    }
}

このコードでPE0, PE1, PE2の3ピンをHighに設定できます。

Arduinoも同様のコードで動作します。