arduino vong lap

Các ngôn ngữ lập trình cung cấp các cấu trúc điều khiển khác nhau cho phép các đường dẫn thực thi phức tạp hơn.

Câu lệnh lặp cho phép chúng ta thực hiện một câu lệnh hoặc một nhóm câu lệnh nhiều lần và sau đây là dạng chung của câu lệnh lặp trong hầu hết các ngôn ngữ lập trình:

Arduino - Vòng lặp

Ngôn ngữ lập trình C cung cấp các loại vòng lặp sau để xử lý các yêu cầu về lặp.

S.NO.Vòng lặp & mô tả
1trong khi lặp lại trong khi các vòng lặp sẽ lặp liên tục và vô hạn, cho đến khi biểu thức bên trong dấu ngoặc, () trở thành sai. Một cái gì đó phải thay đổi biến được kiểm tra, nếu không vòng lặp while sẽ không bao giờ thoát.
2vòng lặp do… while Các do … while loop cũng tương tự như vòng lặp while. Trong vòng lặp while, điều kiện tiếp tục của vòng lặp được kiểm tra ở phần đầu của vòng lặp trước khi thực hiện phần thân của vòng lặp.
3vòng lặp for Một vòng lặp for thực hiện báo cáo một số định trước thời gian. Biểu thức điều khiển cho vòng lặp được khởi tạo, kiểm tra và thao tác hoàn toàn trong dấu ngoặc đơn của vòng lặp for.
4Vòng lặp lồng nhau Ngôn ngữ C cho phép bạn sử dụng một vòng lặp bên trong một vòng lặp khác. Ví dụ sau đây minh họa khái niệm.
5Vòng lặp vô hạn Đó là vòng lặp không có điều kiện kết thúc, vì vậy vòng lặp trở thành vô hạn.

Arduino – vòng lặp while

trong khi các vòng lặp sẽ lặp liên tục và vô hạn, cho đến khi biểu thức bên trong dấu ngoặc, () trở thành sai. Một cái gì đó phải thay đổi biến được kiểm tra, nếu không vòng lặp while sẽ không bao giờ thoát.

Cú pháp vòng lặp while

while(expression) {
   Block of statements;
}

Vòng lặp while Trình tự thực thi

Arduino - Vòng lặp

Arduino – vòng lặp do… while

Các do … while loop cũng tương tự như vòng lặp while. Trong vòng lặp while, điều kiện tiếp tục của vòng lặp được kiểm tra ở phần đầu của vòng lặp trước khi thực hiện phần thân của vòng lặp. Câu lệnh do… while kiểm tra điều kiện tiếp tục của vòng lặp sau khi thực hiện phần thân của vòng lặp. Do đó, phần thân của vòng lặp sẽ được thực thi ít nhất một lần.

Khi một do… while kết thúc, việc thực thi tiếp tục với câu lệnh sau mệnh đề while. Không nhất thiết phải sử dụng dấu ngoặc nhọn trong câu lệnh do… while nếu chỉ có một câu lệnh trong nội dung. Tuy nhiên, các dấu ngoặc nhọn thường được bao gồm để tránh nhầm lẫn giữa câu lệnh while và do… while.

Cú pháp vòng lặp do… while

do { 
   Block of statements; 
} 
while (expression);

Arduino – vòng lặp for

Một vòng lặp for thực hiện báo cáo một số định trước thời gian. Biểu thức điều khiển cho vòng lặp được khởi tạo, kiểm tra và thao tác hoàn toàn trong dấu ngoặc đơn của vòng lặp for. Có thể dễ dàng gỡ lỗi hành vi lặp của cấu trúc vì nó độc lập với hoạt động bên trong vòng lặp. Mỗi vòng lặp for có tối đa ba biểu thức, xác định hoạt động của nó. Ví dụ sau đây cho thấy cú pháp chung cho vòng lặp. Lưu ý rằng ba biểu thức trong dấu ngoặc đơn của đối số vòng lặp for được phân tách bằng dấu chấm phẩy.

Cú pháp vòng lặp for

for ( initialize; control; increment or decrement) {
   // statement block
}

Thí dụ

for(counter = 2;counter <= 9;counter++) {
   //statements block will executed 10 times
}

Trình tự thực thi vòng lặp for

Arduino - Vòng lặp

Arduino – vòng lặp lồng nhau

Ngôn ngữ C cho phép bạn sử dụng một vòng lặp bên trong một vòng lặp khác. Ví dụ sau đây minh họa khái niệm.

Cú pháp vòng lặp lồng nhau

for ( initialize ;control; increment or decrement) {
   // statement block
   for ( initialize ;control; increment or decrement) {
      // statement block
   }
}

Thí dụ

for(counter = 0;counter <= 9;counter++) {
   //statements block will executed 10 times
   for(i = 0;i <= 99;i++) {
      //statements block will executed 100 times
   }
}

Arduino – vòng lặp vô hạn

Đó là vòng lặp không có điều kiện kết thúc, vì vậy vòng lặp trở thành vô hạn.

Cú pháp vòng lặp vô hạn

Sử dụng vòng lặp for

for (;;) {
   // statement block
}

Sử dụng vòng lặp while

while(1) {
   // statement block
}

Sử dụng vòng lặp do… while

do {
   Block of statements;
} 
while(1);

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ì đ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à việc 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à:

Arduino - Chức năng

Khai báo chức năng

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à nguyên mẫu hàm 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 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.

Arduino – Chuỗi xem thêm

Trả lời