Video: Startup Luxstay Gọi Vốn 12 Triệu Đô Tại Shark Tank Và Cái Kết Bất Ngờ | Thương Vụ Bạc Tỷ | Mùa 3 2025
Các chương trình con PBASIC là vô giá trong các dự án điện tử của bạn sử dụng bộ xử lý BASIC Stamp. Một chương trình con là một phần của một chương trình có thể được gọi từ bất kỳ vị trí nào trong chương trình. Khi chương trình con kết thúc, việc điều khiển chương trình sẽ nhảy trở lại vị trí mà chương trình con được gọi.
Các chương trình con rất hữu ích vì chúng cho phép bạn tách biệt các phần dài của chương trình khỏi vòng lặp chính của chương trình, giúp đơn giản hóa vòng lặp chương trình chính để giúp nó dễ hiểu hơn. Một lợi ích của chương trình con là họ có thể làm cho chương trình của bạn nhỏ hơn.
Giả sử bạn đang viết một chương trình cần thực hiện tính toán phức tạp nhiều lần. Nếu bạn đặt tính toán phức tạp trong chương trình con, bạn có thể gọi chương trình con từ một số nơi trong chương trình. Bằng cách đó, bạn viết mã thực hiện tính toán phức tạp chỉ một lần.
Để tạo và sử dụng chương trình con, bạn cần sử dụng hai lệnh PBASIC. Đầu tiên là GOSUB, gọi chương trình con. Bạn thường sử dụng lệnh GOSUB trong vòng lặp chính của chương trình bất cứ khi nào bạn muốn gọi chương trình con. Lệnh thứ hai là RETURN, luôn luôn là lệnh cuối cùng trong chương trình con.
Để tạo một chương trình con, bạn bắt đầu với một nhãn và kết thúc với một lệnh RETURN. Giữa họ, bạn viết bất cứ lệnh gì bạn muốn thực hiện khi chương trình con được gọi.
Dưới đây là một ví dụ về chương trình con tạo ra một số ngẫu nhiên giữa 1 và 999 và lưu nó trong một biến Rnd:
GetRandom: RANDOM Rnd Rnd = Rnd // 999 + 1 RETURN
Để gọi chương trình con này, bạn chỉ cần sử dụng lệnh GOSUB như sau:
GOSUB GetRandom
Lệnh GOSUB này chuyển quyền kiểm soát tới nhãn GetRandom. Sau đó, khi chương trình con GetRandom đạt đến lệnh RETURN, điều khiển sẽ nhảy trở lại lệnh ngay sau lệnh GOSUB.
Đây là một chương trình hoàn chỉnh sử dụng chương trình con để nhận được số ngẫu nhiên từ 1 đến 1 000 và sử dụng số ngẫu nhiên để làm cho đèn LED trên pin 0 nhấp nháy theo khoảng thời gian ngẫu nhiên. Bạn có thể chạy chương trình này trên bất kỳ mạch Basic Stamp nào có đèn LED trên pin 0.
'Chương trình LED Blinker' Doug Lowe 'ngày 10 tháng 7 năm 2011 "Chương trình này nhấp nháy LED trên pin 0 một cách ngẫu nhiên.' {$ STAMP BS2} '{$ PBASIC 2. 5} Rnd VAR Word Led1 PIN 0 DO GOSUB GetRandom HIGH Led1 PAUSE Rnd LOW Led1 PAUSE 100 LOOP GetRandom: RANDOM Rnd Rnd = Rnd // 999 + 1 RETURN
Khi bạn sử dụng một chương trình con, nó quan trọng rằng bạn ngăn chặn chương trình của bạn vô tình "rơi vào" chương trình con của bạn và thực hiện nó khi bạn không định sẽ được thực hiện.Ví dụ, giả sử chương trình trong Liệt kê 3-5 sử dụng một vòng lặp FOR-NEXT thay vì một vòng DO do bạn muốn chớp đèn LED chỉ 100 lần. Đây là một ví dụ về cách không viết chương trình đó:
FOR Counter = 1 TO 100 GOSUB GetRandom HIGH Led1 PAUSE Rnd LOW Led1 PAUSE 100 NEXT GetRandom: RANDOM Rnd Rnd = Rnd // 999 + 1 RETURN
Bạn có thấy tại sao không? Sau khi vòng lặp FOR-NEXT nhấp nháy 100 lần LED, chương trình sẽ tiếp tục với lệnh tiếp theo sau vòng lặp FOR-NEXT, đó là chương trình con!
Để ngăn chặn điều đó xảy ra, bạn có thể sử dụng lệnh PBASIC khác, END, mà chỉ đơn giản nói với BASIC Stamp rằng bạn đã đến cuối của chương trình, do đó, nó nên ngừng thực hiện lệnh. Bạn phải đặt lệnh END sau lệnh NEXT, như sau:
FOR Counter = 1 TO 100 GOSUB GetRandom HIGH Led1 PAUSE Rnd LOW Led1 PAUSE 100 NEXT END GetRandom: RANDOM Rnd Rnd = Rnd // 999 + 1 RETURN > Sau đó, chương trình sẽ dừng lại sau khi hoàn thành vòng lặp FOR-NEXT.