Chương trình con trong Arduino

Trong bài viết này, chúng ta sẽ khám phá cách làm việc với các chương trình con trong Arduino, giúp làm cho mã chương trình rõ ràng và dễ hiểu hơn.

Khai báo và gọi chương trình con

Trong Arduino, chúng ta có thể khai báo và gọi các chương trình con bằng cách sử dụng các hàm. Khi chúng ta gọi một hàm trong mã chính của chương trình, Arduino sẽ dừng lại và chuyển đến phần khai báo của hàm.

Hãy xem ví dụ dưới đây:

void setup(){
  // Các thiết lập ban đầu
}

void loop(){
  // Các tác vụ lặp lại

  Sub_1(); // Gọi chương trình con Sub_1

  // Tiếp tục các tác vụ khác
}

void Sub_1(){
  // Mã của chương trình con Sub_1
}

Khi chúng ta gọi chương trình con Sub_1 trong ví dụ trên, Arduino sẽ chuyển đến phần khai báo của hàm Sub_1 và thực thi mã bên trong nó. Sau đó, nó sẽ trở lại mã chính và tiếp tục từ dòng sau đó.

Biến toàn cục và biến cục bộ

Trong Arduino, chúng ta có thể định nghĩa các biến toàn cục và biến cục bộ trong các chương trình con.

Biến toàn cục là các biến được định nghĩa từ đầu và không nằm trong bất kỳ chương trình con nào. Chúng ta có thể thay đổi giá trị của các biến toàn cục trong các chương trình con.

Hãy xem ví dụ dưới đây:

int a = 5;

void setup(){
  // Các thiết lập ban đầu
}

void loop(){
  // Các tác vụ lặp lại

  Sub_1(); // Gọi chương trình con Sub_1

  // Tiếp tục các tác vụ khác
}

void Sub_1(){
  a = 10; // Thay đổi giá trị của biến toàn cục a
}

Trong ví dụ trên, giá trị của biến toàn cục a sẽ bị thay đổi sau khi chương trình con Sub_1 được thực thi. Chúng ta có thể in giá trị của biến trước và sau chương trình con để kiểm tra xem nó có hoạt động như mong đợi hay không.

Hàm có kiểu trả về

Chúng ta cũng có thể định nghĩa các hàm có kiểu trả về trong Arduino, cho phép chúng trả về một giá trị khi được gọi.

Để định nghĩa một hàm có kiểu trả về, chúng ta cần viết kiểu dữ liệu, tên hàm và các tham số mà chúng ta muốn truyền vào bên trong hàm.

Hãy xem ví dụ dưới đây:

void setup(){
  // Các thiết lập ban đầu
}

void loop(){
  int a = 5;
  int b = 5;
  int c;

  c = Sub_1(a, b); // Gọi chương trình con Sub_1 và gán giá trị trả về vào biến c

  // Tiếp tục các tác vụ khác
}

int Sub_1(int x, int y){
  int result = x + y;
  return result; // Trả về giá trị result
}

Trong ví dụ trên, khi chúng ta gọi chương trình con Sub_1 với các đầu vào cụ thể, nó sẽ trả về tổng của hai đầu vào. Chúng ta có thể sử dụng các biến giống nhau trong khai báo hàm và khi chúng ta gọi hàm, vì chúng không phải là toàn cục.

Lợi ích của chương trình con

Chương trình con rất hữu ích khi chúng ta muốn viết một đoạn mã rõ ràng hoặc lặp lại một tác vụ nhiều lần trong chương trình.

Nếu chúng ta muốn thực hiện một tác vụ nhiều lần, thay vì viết mã lặp lại, chúng ta có thể tạo một chương trình con và gọi nó bất kỳ lúc nào trong mã chính. Điều này giúp giảm thời gian và không gian và làm cho mã nguồn trở nên sạch sẽ và ngắn gọn hơn.

Với kiến thức về chương trình con trong Arduino, chúng ta có thể viết mã chương trình phức tạp hơn và tận dụng tối đa tiềm năng của nền tảng này.

Arduino

FEATURED TOPIC

hihi