(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も同様のコードで動作します。