Kỹ thuật số trong#

Giới thiệu#

Lớp digital_in cho phép bộ vi xử lý V5 Brain đọc tín hiệu số từ nguồn bên ngoài, chẳng hạn như công tắc hoặc cảm biến. Nó phát hiện xem đường tín hiệu đầu vào ở mức cao (nhận 5 volt) hay mức thấp (nhận 0 volt). Điều này có thể được sử dụng để xác định trạng thái bật/tắt hoặc kích hoạt các sự kiện trong một dự án.

Hàm tạo lớp#

digital_in(
  triport::port &port );

Lớp Destructor#

Hủy đối tượng digital_in và giải phóng các tài nguyên liên quan.

~digital_in();

Thông số#

Tham số

Kiểu

Sự miêu tả

port

triport::port &

Cổng 3 dây mà thiết bị đầu vào kỹ thuật số được kết nối, được viết là Brain.ThreeWirePort.X hoặc ExpanderName.X, trong đó X là ký tự của cổng (ví dụ: Brain.ThreeWirePort.A hoặc Expander1.A).

Ví dụ#

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

Chức năng thành viên#

Lớp digital_in bao gồm các hàm thành viên sau:

  • value — Trả về trạng thái cổng Digital In đang nhận tín hiệu cao hay thấp.

  • high — Đăng ký một hàm được gọi bất cứ khi nào thiết bị Đầu vào kỹ thuật số gửi tín hiệu cao.

  • low — Đăng ký một hàm được gọi bất cứ khi nào thiết bị Đầu vào kỹ thuật số gửi tín hiệu thấp.

Trước khi gọi bất kỳ hàm thành viên nào của digital_in , cần phải tạo một thể hiện digital_in , như được hiển thị bên dưới:

/* 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#

Trả về giá trị cho biết cổng Digital In đang nhận tín hiệu cao hay thấp.

Chức năng khả dụng

int32_t value();

Tham số

Hàm này không chấp nhận bất kỳ tham số nào.

Giá trị trả về

Trả về một giá trị int32_t biểu thị trạng thái tín hiệu số hiện tại:

  • 1 – Cổng Digital In đang nhận tín hiệu cao (khoảng 5V).

  • 0 – Cổng Digital In đang nhận tín hiệu thấp (khoảng 0V).

high#

Đăng ký một hàm sẽ được gọi bất cứ khi nào thiết bị Digital In gửi tín hiệu cao (khoảng 5V).

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

Parameters

Tham số

Kiểu

Sự miêu tả

callback

void (* callback)(void)

Một hàm sẽ được gọi khi tín hiệu đầu vào ở mức cao.

Return Values

Hàm này không trả về giá trị nào.

Examples

Xác định hàm gọi lại (bên ngoài int main())

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

Đăng ký hàm gọi lại bên trong 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#

Đăng ký một hàm sẽ được gọi bất cứ khi nào thiết bị Digital In gửi tín hiệu mức thấp (khoảng 0V).

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

Parameters

Tham số

Kiểu

Sự miêu tả

callback

void (* callback)(void)

Một hàm sẽ được gọi khi tín hiệu đầu vào ở mức thấp.

Return Values

Hàm này không trả về giá trị nào.

Examples

Xác định hàm gọi lại (bên ngoài int main())

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

Đăng ký hàm gọi lại bên trong 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);
}