Witam,
Do komunikacji z DHT11 używam od zawsze kodu
Davide Gironi
i nigdy nie było z tym kłopotu. Grzebie przy sterowniku terrarium i wraz z rozwojem programu natrafiłem na problemy z komunikacją z czujnikiem. Tzn. przy komunikacji łapię notorycznie zwiechy. Przy zablokowanym odczycie DHT11 program działa prawidłowo. Ta sama biblioteka DHT11 w innych mniejszych programach działa prawidłowo. Również program z odblokowanym odczytem DHT11 przeniesiony, bez zmiany jednej linii kodu, na ATmega32 działa prawidłowo.
Po kompilacji na ATmega8 zajętość pamięci wygląda j/n:
EEprom i częściowo flash są zapełnione stringami używanymi w komunikacji z userem przez USART.
Ponieważ nic sensownego nie przychodzi mi do głowy, zastanawiam się czy tak duże zapełnienie pamięci może być przyczyną problemów w komunikacji z czujnikiem?
Dodam jeszcze: w programie żadnych zmiennych dynamicznych, żadnej rekurencji. Żadnych funkcji ze zmiennymi o dużych rozmiarach.
Do komunikacji z DHT11 używam od zawsze kodu
Davide Gironi
i nigdy nie było z tym kłopotu. Grzebie przy sterowniku terrarium i wraz z rozwojem programu natrafiłem na problemy z komunikacją z czujnikiem. Tzn. przy komunikacji łapię notorycznie zwiechy. Przy zablokowanym odczycie DHT11 program działa prawidłowo. Ta sama biblioteka DHT11 w innych mniejszych programach działa prawidłowo. Również program z odblokowanym odczytem DHT11 przeniesiony, bez zmiany jednej linii kodu, na ATmega32 działa prawidłowo.
Po kompilacji na ATmega8 zajętość pamięci wygląda j/n:
Program Memory Usage : 7712 bytes 94,1 % Full
Data Memory Usage : 127 bytes 12,4 % Full
EEPROM Memory Usage : 478 bytes 93,4 % Full
EEprom i częściowo flash są zapełnione stringami używanymi w komunikacji z userem przez USART.
Ponieważ nic sensownego nie przychodzi mi do głowy, zastanawiam się czy tak duże zapełnienie pamięci może być przyczyną problemów w komunikacji z czujnikiem?
Dodam jeszcze: w programie żadnych zmiennych dynamicznych, żadnej rekurencji. Żadnych funkcji ze zmiennymi o dużych rozmiarach.