คุณตั้งโปรแกรมโหมดสลีปสำหรับ Arduino อย่างไร โดยเฉพาะอย่างยิ่งสำหรับการออกแบบที่ใช้พลังงานแบตเตอรี่มีเทคนิคอะไรที่ดีสำหรับการนอนหลับ CPU แต่ตื่นขึ้นมาเมื่อจำเป็นเท่านั้น?
คุณตั้งโปรแกรมโหมดสลีปสำหรับ Arduino อย่างไร โดยเฉพาะอย่างยิ่งสำหรับการออกแบบที่ใช้พลังงานแบตเตอรี่มีเทคนิคอะไรที่ดีสำหรับการนอนหลับ CPU แต่ตื่นขึ้นมาเมื่อจำเป็นเท่านั้น?
คำตอบ:
avr / sleep.h อาจมีสิ่งที่คุณต้องการ - เอกสารอยู่ที่ http://www.nongnu.org/avr-libc/user-manual/group__avr__sleep.html
มีคำเตือนบางอย่างเกี่ยวกับการทำให้ CPU เข้าสู่โหมดสลีปแม้ว่า :)
หวังว่านี่จะช่วยได้
โปรดจำไว้ว่าขึ้นอยู่กับโหมดสลีปของคุณมีแหล่งขัดจังหวะสองสามตัวที่ทำงานบน arduino ของคุณ timer0 สร้างการขัดจังหวะการโอเวอร์โฟลว์ที่จะปลุก Arduino ของคุณประมาณทุกๆมิลลิวินาทีและ uart จะสร้างการขัดจังหวะทุกครั้งที่มีตัวละครเข้ามา ... และแน่นอนว่ามีการขัดจังหวะภายนอกบนหมุด 2 และ 3 ที่คุณอาจเปิดใช้งานหรือไม่ใช้ฟังก์ชัน attachInterrupt
เมื่อมีการขัดจังหวะร่างของคุณจะถูกปลุกให้ตื่นจากการนอนหลับและหลังจากที่มีการขัดจังหวะการบริการมันจะทำงานต่อจากจุดที่มันเข้าสู่โหมดสลีป วิธีแก้ปัญหานี้คือการตั้งค่าภาพร่างของคุณเพื่อให้ตัวเองนอนหลับทุกครั้งผ่านลูปจนกว่าจะถึงเวลาปลุก
ที่นี่ห้องสมุดหลับอาร์ดิโนของฉัน