อนาล็อกอิน#

การแนะนำ#

คลาส analog_in ใช้สำหรับอ่านสัญญาณอินพุตแบบอนาล็อกจากอุปกรณ์ที่เชื่อมต่อกับพอร์ต VEX V5 3-Wire โดยจะให้สิทธิ์ในการเข้าถึงค่าอนาล็อกปัจจุบันและอนุญาตให้ลงทะเบียนฟังก์ชันเรียกกลับ (callback function) สำหรับการเปลี่ยนแปลงค่าได้

ตัวสร้างคลาส#

analog_in(
    triport::port &port );

ตัวทำลายคลาส#

ทำลายอ็อบเจ็กต์ analog_in และปล่อยทรัพยากรที่เกี่ยวข้อง

~analog_in();

พารามิเตอร์#

พารามิเตอร์

พิมพ์

คำอธิบาย

port

triport::port&

พอร์ต 3 สายที่เชื่อมต่อกับอินพุตอะนาล็อก เขียนเป็น Brain.ThreeWirePort.X หรือ ExpanderName.Xโดยที่ X คือตัวอักษรของพอร์ต (ตัวอย่างเช่น Brain.ThreeWirePort.A หรือ Expander1.A)

ตัวอย่าง#

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

ฟังก์ชันสมาชิก#

คลาส analog_in ประกอบด้วยฟังก์ชันสมาชิกต่อไปนี้:

  • value — ส่งคืนค่าของอุปกรณ์อินพุตแบบอนาล็อก

  • changed — ลงทะเบียนฟังก์ชันเรียกกลับเมื่อค่าอินพุตอะนาล็อกเปลี่ยนแปลง

ก่อนเรียกใช้ฟังก์ชันสมาชิก analog_in ใดๆ จะต้องสร้างอินสแตนซ์ analog_in ก่อน ดังแสดงด้านล่าง:

/* This constructor is required to use an
Analog Input device. Replace the values
as needed. */

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

value#

ส่งคืนค่าปัจจุบันของอินพุตแบบอนาล็อก

Available Functions
int32_t value(
  analogUnits units );

Parameters

พารามิเตอร์

พิมพ์

คำอธิบาย

units

analogUnits

หน่วยที่ใช้แสดงค่า:

  • range8bit — ค่าอนาล็อก 8 บิต (ค่าที่มีสถานะที่เป็นไปได้ 256 สถานะ)
  • range10bit — ค่าอนาล็อก 10 บิต (ค่าที่มีสถานะที่เป็นไปได้ 1024 สถานะ)
  • range12bit — ค่าอนาล็อก 12 บิต (ค่าที่มีสถานะที่เป็นไปได้ 4096 สถานะ)
  • pct — เปอร์เซ็นต์
  • mV — มิลลิโวลต์

Return Values

ฟังก์ชันนี้จะส่งคืนค่าปัจจุบันของอินพุตแบบอนาล็อก

Examples
// Get the current value of the Analog Input
int32_t value = AnalogInA.value();

changed#

ลงทะเบียนฟังก์ชันเรียกกลับที่จะถูกเรียกเมื่อค่าของอินพุตแบบอนาล็อกเปลี่ยนแปลง

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

Parameters

พารามิเตอร์

พิมพ์

คำอธิบาย

callback

void (* callback)(void)

ฟังก์ชันที่จะถูกเรียกใช้เมื่อค่าของอินพุตแบบอนาล็อกเปลี่ยนแปลง

Return Values

ฟังก์ชันนี้ไม่ส่งค่ากลับ

Examples

กำหนดฟังก์ชันเรียกกลับ (นอก int main())

// Display a message when the input changes
void AnalogInputChanged() {
  Brain.Screen.print("analog input changed");
}

ลงทะเบียนฟังก์ชันเรียกกลับภายใน int main()

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

  // Run AnalogInputChanged when the value of the
  // Analog Input changes
  AnalogInA.changed(AnalogInputChanged);
}