Arduino'nuz için bir uyku modunu nasıl programlıyorsunuz? Özellikle pille çalışan tasarımlar için, CPU'yu uykuya geçirmek için ancak yalnızca gerektiğinde uyanmak için iyi teknikler nelerdir?
Arduino'nuz için bir uyku modunu nasıl programlıyorsunuz? Özellikle pille çalışan tasarımlar için, CPU'yu uykuya geçirmek için ancak yalnızca gerektiğinde uyanmak için iyi teknikler nelerdir?
Yanıtlar:
avr / sleep.h ihtiyacınız olan her şeye sahip olabilir - dokümanlar http://www.nongnu.org/avr-libc/user-manual/group__avr__sleep.html adresindedir
CPU'yu uyku moduna geçirmeyle ilgili bazı uyarılar var :)
Bu yardımcı olur umarım.
uyku moduna bağlı olarak, arduino'nuzda çalışan birkaç kesme kaynağı olduğunu unutmayın. timer0, arduino'nuzu yaklaşık her milisaniyede uyandıracak bir taşma kesintisi oluşturur ve uart, gelen bir karakter her olduğunda bir kesme oluşturur. ... ve elbette, attachInterrupt işlevini kullanarak etkinleştirmiş olabileceğiniz veya etkinleştiremeyeceğiniz 2 ve 3 numaralı pinlerde harici kesintiler vardır.
bir kesinti meydana geldiğinde, çiziminiz uykudan uyandırılır ve kesinti servis edildikten sonra uykuya daldığı noktadan itibaren çalışmaya devam eder. bunun çözümü, gerçekten uyanma zamanı olmadıkça, kendini her döngüde tekrar uykuya sokacak şekilde ayarlamaktır.
burada, benim arduino uyku kütüphanem