デジタルイン#
導入#
digital_in クラスを使用すると、V5 Brain はスイッチやセンサーなどの外部ソースからデジタル信号を読み取ることができます。入力ラインがハイ(5ボルト)かロー(0ボルト)かを検出します。これは、プロジェクトのオン/オフ状態を判断したり、イベントをトリガーしたりするために使用できます。
クラスコンストラクタ#
digital_in(
triport::port &port );
クラスデストラクタ#
digital_in オブジェクトを破棄し、関連するリソースを解放します。
~digital_in();
パラメータ#
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
デジタル入力デバイスが接続されている3線式ポートは、 |
例#
// 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 Functionsvoid high(
void (* callback)(void) );
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
入力値がハイのときに呼び出される関数。 |
この関数は値を返しません。
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 Functionsvoid low(
void (* callback)(void) );
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
入力値が低い場合に呼び出される関数。 |
この関数は値を返しません。
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); }