Problem jest nieco bardziej skomplikowany (atmega128 + Bascom);
Otóż jeden z pinów MCU1 służy mi do resetowania innego MCU2. Czyli pin ten musi być normalnie w stanie wysokim, a w razie potrzeby jest ustawiany na moment na "0". Fizycznie ten pin podłączony jest do wejścia RESET MCU2 poprzez diodę, a sam RESET MCU2 oczywiście normalnie jest podciągnięty rezystorem 5K1 do zasilania. Kiedy wyjście resetujące MCU spada na "0" to poprzez diodę resetuje nam MCU2. Proste
Jednak, problem powstaje w momencie konfiguracji pinu w MCU1.
Po starcie MCU1piny nie skonfigurowane są w stanie wysokiej impedancji. I nie ma problemu.
Jednak, kiedy na starcie programu chcę skonfigurować dane wyjście MCU1 (PORT G.4) jako wyjście, i ustawić na na "1", to niestety mimowolnie generuje mi to króciutki impuls "0", ponieważ po komendzie ustawiającej pin jako wyjściowy, a przed ustawieniem wyjścia na "1" - pojawia się tam stan niski na chwilkę;
Wygląda to tak;
Czyli pytanie jest następujące - jak zadeklarować pin jako wyjście, przechodząc ze stanu wysokiej impedancji od razu do stanu wysokiego ?
Otóż jeden z pinów MCU1 służy mi do resetowania innego MCU2. Czyli pin ten musi być normalnie w stanie wysokim, a w razie potrzeby jest ustawiany na moment na "0". Fizycznie ten pin podłączony jest do wejścia RESET MCU2 poprzez diodę, a sam RESET MCU2 oczywiście normalnie jest podciągnięty rezystorem 5K1 do zasilania. Kiedy wyjście resetujące MCU spada na "0" to poprzez diodę resetuje nam MCU2. Proste
Jednak, problem powstaje w momencie konfiguracji pinu w MCU1.
Po starcie MCU1piny nie skonfigurowane są w stanie wysokiej impedancji. I nie ma problemu.
Jednak, kiedy na starcie programu chcę skonfigurować dane wyjście MCU1 (PORT G.4) jako wyjście, i ustawić na na "1", to niestety mimowolnie generuje mi to króciutki impuls "0", ponieważ po komendzie ustawiającej pin jako wyjściowy, a przed ustawieniem wyjścia na "1" - pojawia się tam stan niski na chwilkę;
Wygląda to tak;
Config Portg.4 = Output
' *** tutaj mamy na portg.4 stan niski !!!!
Reset_mcu2 Alias Portg.4
Reset_mcu2 = 1
' *** teraz dopiero na portg.4 jest stan wysoki
Czyli pytanie jest następujące - jak zadeklarować pin jako wyjście, przechodząc ze stanu wysokiej impedancji od razu do stanu wysokiego ?


