Arduino - Chức năng
Các hàm cho phép cấu trúc các chương trình trong các đoạn mã để thực hiện các tác vụ riêng lẻ. Trường hợp điển hình để tạo một hàm là khi một người cần thực hiện cùng một hành động nhiều lần trong một chương trình.
Chuẩn hóa các đoạn mã thành các hàm có một số lợi thế:
Các chức năng giúp lập trình viên luôn có tổ chức. Thông thường, điều này giúp hình thành chương trình.
Các hàm mã hóa một hành động ở một nơi để hàm chỉ phải nghĩ đến và gỡ lỗi một lần.
Điều này cũng làm giảm nguy cơ xảy ra lỗi khi sửa đổi, nếu mã cần được thay đổi.
Các hàm làm cho toàn bộ bản phác thảo nhỏ hơn và gọn hơn vì các phần mã được sử dụng lại nhiều lần.
Chúng giúp việc sử dụng lại mã trong các chương trình khác dễ dàng hơn bằng cách làm cho nó trở thành mô-đun và sử dụng các hàm thường làm cho mã dễ đọc hơn.
Có hai hàm bắt buộc trong một bản phác thảo Arduino hoặc một chương trình tức là setup () và loop (). Các hàm khác phải được tạo bên ngoài dấu ngoặc của hai hàm này.
Cú pháp phổ biến nhất để xác định một hàm là:
Khai báo hàm
Một hàm được khai báo bên ngoài bất kỳ hàm nào khác, bên trên hoặc bên dưới hàm vòng lặp.
Chúng ta có thể khai báo hàm theo hai cách khác nhau:
Cách đầu tiên chỉ là viết một phần của hàm được gọi là a function prototype bên trên hàm vòng lặp, bao gồm:
- Kiểu trả về hàm
- Tên chức năng
- Kiểu đối số của hàm, không cần viết tên đối số
Nguyên mẫu hàm phải được theo sau bởi dấu chấm phẩy (;).
Ví dụ sau đây cho thấy việc trình diễn khai báo hàm bằng phương pháp đầu tiên.
Thí dụ
int sum_func (int x, int y) // function declaration {
int z = 0;
z = x+y ;
return z; // return the value
}
void setup () {
Statements // group of statements
}
Void loop () {
int result = 0 ;
result = Sum_func (5,6) ; // function call
}
Phần thứ hai, được gọi là định nghĩa hoặc khai báo hàm, phải được khai báo bên dưới hàm vòng lặp, bao gồm:
- Kiểu trả về hàm
- Tên chức năng
- Kiểu đối số của hàm, ở đây bạn phải thêm tên đối số
- Phần thân hàm (các câu lệnh bên trong hàm thực thi khi hàm được gọi)
Ví dụ sau minh họa việc khai báo hàm bằng phương thức thứ hai.
Thí dụ
int sum_func (int , int ) ; // function prototype
void setup () {
Statements // group of statements
}
Void loop () {
int result = 0 ;
result = Sum_func (5,6) ; // function call
}
int sum_func (int x, int y) // function declaration {
int z = 0;
z = x+y ;
return z; // return the value
}
Phương thức thứ hai chỉ khai báo hàm bên trên hàm vòng lặp.