goto

Giới thiệu

Nó có nhiệm vụ tạm dừng chương trình rồi chuyển đến một nhãn đã được định trước, sau đó lại chạy tiếp chương trình!

Cú pháp

label: //Khai báo một nhãn có tên là label

goto label; //Chạy đến nhãn label rồi sau đó thực hiện tiếp những đoạn chương trình sau nhãn đó

Thủ thuật

Không nên dùng lệnh goto trong chương trình Program hay bất cứ chương trình nào sử dụng ngôn ngữ C. Nhưng nếu sử dụng một cách khôn ngoan bạn sẽ tối ưu hóa được nhiều điều trong một chương trình!

Vậy nó hữu ích khi nào, đó là lúc bạn đang dùng nhiều vòng lặp quá và muốn thoát khỏi nó một cách nhanh chóng!

Ví dụ

for(byte r = 0; r < 255; r++){
    for(byte g = 255; g > -1; g--){
        for(byte b = 0; b < 255; b++){
            if (analogRead(0) > 250){ goto bailout;}
            //thêm nhiều câu lệnh nữa
        }
    }
}
bailout:

 

lên
2 thành viên đã đánh giá bài viết này hữu ích.
Các bài viết cùng tác giả

Dùng ATTiny13 để shiftOut ra IC 595 điều khiển nhiều LED

Qua bài viết Bài 2: Attiny13 - Trợ thủ đắc lực của Arduino - Lập trình nó?, chúng ta đã biết được cách lập trình một bé ATTiny13 để làm nhấp nháy một chú đèn LED. Hôm nay, chúng ta sẽ nâng cao một tí nữa, chúng ta sẽ lập trình chú ATTiny13 này để shiftOut ra 8 LED và hơn thế nữa!

Nếu bạn chưa biết về shiftOut, bạn có thể xem bài viết này và thực hiện nó trước!

lên
5 thành viên đã đánh giá bài viết này hữu ích.

Tiết kiệm RAM trong Arduino?

Như đã nói ở bài trước Cách lưu trữ các biến số, mảng, chuỗi trong Arduino, chúng ta đã biết rằng các loại biến trong Arduino được lưu ở những vùng nhớ khác nhau trong RAM, và khi hết RAM thì chương trình của bạn sẽ die một cách bất ngờ - vì lỗi không nằm trong code.

Vì vậy, hôm nay, chúng ta sẽ tìm cách giải quyết vấn đề "làm thế nào để giảm thiểu việc sử dụng RAM trong một sketch Arduino?".

lên
6 thành viên đã đánh giá bài viết này hữu ích.