ดิจิทัลอิน#

การแนะนำ#

คลาส 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 — ส่งคืนว่าพอร์ต Digital In กำลังรับสัญญาณสูงหรือต่ำ

  • high — ลงทะเบียนฟังก์ชันที่จะถูกเรียกเมื่อใดก็ตามที่อุปกรณ์ Digital In ส่งสัญญาณสูง

  • low — ลงทะเบียนฟังก์ชันที่จะถูกเรียกเมื่อใดก็ตามที่อุปกรณ์ Digital In ส่งสัญญาณต่ำ

ก่อนเรียกใช้ฟังก์ชันสมาชิก 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#

ตรวจสอบว่าพอร์ต Digital In ได้รับสัญญาณสูงหรือสัญญาณต่ำ

ฟังก์ชันที่ใช้งานได้

int32_t value();

พารามิเตอร์

ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ

ค่าที่ส่งคืน

ส่งคืนค่า int32_t ซึ่งแสดงถึงสถานะสัญญาณดิจิทัลปัจจุบัน:

  • 1 – พอร์ต Digital In กำลังรับสัญญาณสูง (ประมาณ 5V)

  • 0 – พอร์ต Digital In กำลังรับสัญญาณต่ำ (ประมาณ 0V)

high#

ลงทะเบียนฟังก์ชันที่จะถูกเรียกใช้เมื่อใดก็ตามที่อุปกรณ์ Digital In ส่งสัญญาณสูง (ประมาณ 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#

ลงทะเบียนฟังก์ชันที่จะถูกเรียกใช้เมื่อใดก็ตามที่อุปกรณ์ Digital In ส่งสัญญาณต่ำ (ประมาณ 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);
}