Câu hỏi: Tôi phải đặt mã ở đâu nếu tôi muốn nó chỉ thực thi một lần cho mỗi lần khởi động Arduino?
Bối cảnh: Tôi có xu hướng sử dụng Arduino của mình để thực hiện các tác vụ nên được thực hiện một lần trên mỗi chu kỳ nguồn. (Ví dụ: robot của tôi chỉ nên lái về phía trước một lần mỗi khi tôi bật nó - hơn thế nữa và nó có thể rơi khỏi bàn.)
"Mẫu" Arduino IDE tiêu chuẩn bao gồm một loop()
và một setup()
chức năng. Các setup
mã được chạy một lần mỗi chu kỳ quyền lực, và loop
được tái bắt đầu mỗi khi nó kết thúc.
Tôi thấy hai cách tiếp cận mã "nhiệm vụ 1 lần:"
Phương pháp 1: "Lặp lại một lần"
void setup() {
//do setup stuff
}
void loop() {
//do task
while(1) ; //Repeat forever, preventing function from re-starting
}
Phương pháp 2: "Chỉ thiết lập"
void setup() {
//do setup stuff
//do task
}
void loop() {
//do nothing
}
Dạng câu hỏi chi tiết hơn: Là một trong những phương pháp này "tốt hơn" từ ý nghĩa phần cứng / phần mềm? (ví dụ như là có bất cứ điều gì "đặc biệt" về setup
chức năng, giống như nó chỉ có thể chạy cho rất nhiều thời gian?)
Và, nếu họ đều giống nhau từ góc độ phần cứng / phần mềm, là có một "thực hành tốt nhất" hoặc cách tiêu chuẩn của việc viết mã cho những tình huống trong cộng đồng Arduino?
exit
lệnh được thảo luận trong arduino.stackexchange.com/questions/188/,