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