Zatem dlaczego bez ustawienia pinu jako INPUT dzieją się dziwne rzeczy, a po ustawieniu zaczęło działać prawidłowo?
Coś mi się kojarzy, że już kiedyś się na to naciąłem pisząc w asemblerze. Trzeba było ustawić rejestry bo piny uC są trójstanowe i po resecie są w stanie wysokiej impedancji.
W datasheet jest tak:
Według tabelki datasheet gdy rejestr DDxn oraz PORTxn, są wyzerowane to wówczas bit PUD w MCUCR nie ma znaczenia, a wyprowadzenie uC jest w stanie wysokiej impedancji.
Wartości początkowe (Initial Value) dla tych rejestrów to właśnie 0.
Coś mi się kojarzy, że już kiedyś się na to naciąłem pisząc w asemblerze. Trzeba było ustawić rejestry bo piny uC są trójstanowe i po resecie są w stanie wysokiej impedancji.
W datasheet jest tak:
Cytat:The port pins are tri-stated when reset condition becomes active, even if no clocks are running.
Według tabelki datasheet gdy rejestr DDxn oraz PORTxn, są wyzerowane to wówczas bit PUD w MCUCR nie ma znaczenia, a wyprowadzenie uC jest w stanie wysokiej impedancji.
Wartości początkowe (Initial Value) dla tych rejestrów to właśnie 0.

