デジタルイン#

導入#

digital_in クラスを使用すると、V5 Brain はスイッチやセンサーなどの外部ソースからデジタル信号を読み取ることができます。入力ラインがハイ(5ボルト)かロー(0ボルト)かを検出します。これは、プロジェクトのオン/オフ状態を判断したり、イベントをトリガーしたりするために使用できます。

クラスコンストラクタ#

digital_in(
  triport::port &port );

クラスデストラクタ#

digital_in オブジェクトを破棄し、関連するリソースを解放します。

~digital_in();

パラメータ#

パラメータ

タイプ

説明

port

triport::port &

デジタル入力デバイスが接続されている3線式ポートは、 Brain.ThreeWirePort.X または ExpanderName.Xのように記述され、 X はポート文字です (例: Brain.ThreeWirePort.A または Expander1.A)。

例#

// Create the digital_in instance on 3-Wire Port A
digital_in digin = digital_in(Brain.ThreeWirePort.A);

メンバーの機能#

digital_in クラスには、以下のメンバ関数が含まれています。

  • value — デジタル入力ポートがハイ信号またはロー信号を受信して​​いるかどうかを返します。

  • high — デジタル入力デバイスがハイ信号を送信するたびに呼び出される関数を登録します。

  • low — デジタル入力デバイスが低信号を送信するたびに呼び出される関数を登録します。

digital_in メンバ関数を呼び出す前に、以下に示すように digital_in インスタンスを作成する必要があります。

/* This constructor is required when using VS Code.
Digital input configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */

// Create the digital_in instance on 3-Wire Port A
digital_in DigitalInA = digital_in(Brain.ThreeWirePort.A);

value#

デジタル入力ポートがハイ信号を受信して​​いるかロー信号を受信して​​いるかを返します。

利用可能な機能

int32_t value();

パラメータ

この関数は引数を受け付けません。

戻り値

現在のデジタル信号の状態を表す int32_t を返します。

  • 1 – デジタル入力ポートは高信号(約5V)を受信して​​います。

  • 0 – デジタル入力ポートは低信号(約0V)を受信して​​います。

high#

デジタル入力デバイスが高信号(約5V)を送信するたびに呼び出される関数を登録します。

Available Functions
void high(
  void (* callback)(void) );

Parameters

パラメータ

タイプ

説明

callback

void (* callback)(void)

入力値がハイのときに呼び出される関数。

Return Values

この関数は値を返しません。

Examples

コールバック関数を定義します( int main()の外側)

// Display that the input is high
void inputHigh() {
  Brain.Screen.print("digital input high");
}

コールバックを登録する int main()

int main() {
  /* vexcodeInit() is only required when using VEXcode.
  Remove vexcodeInit() if compiling in VS Code. */
  vexcodeInit();

  // Run inputHigh when the Digital Input is high
  DigitalInA.high(inputHigh);
}

low#

デジタル入力デバイスが低信号(約0V)を送信するたびに呼び出される関数を登録します。

Available Functions
void low(
  void (* callback)(void) );

Parameters

パラメータ

タイプ

説明

callback

void (* callback)(void)

入力値が低い場合に呼び出される関数。

Return Values

この関数は値を返しません。

Examples

コールバック関数を定義します( int main()の外側)

// Display that the input is low
void inputLow() {
  Brain.Screen.print("digital input low");
}

コールバックを登録する int main()

int main() {
  /* vexcodeInit() is only required when using VEXcode.
  Remove vexcodeInit() if compiling in VS Code. */
  vexcodeInit();

  // Run inputLow when the Digital Input is low
  DigitalInA.low(inputLow);
}