diff options
Diffstat (limited to 'main.c')
-rwxr-xr-x | main.c | 56 |
1 files changed, 28 insertions, 28 deletions
@@ -138,32 +138,32 @@ int main(void) state = WAIT_START; resetState = ON_STATE; while (1) { - - switch (resetState) { - case ON_STATE: - if (SW2State > 300) { - resetState = RST_STATE; - } - break; - - case RST_STATE: - ClrBit(P2REN, SYS_RESET_N); - SetBit(P2DIR, SYS_RESET_N); - ClrBit(P2OUT, SYS_RESET_N); - Timer2 = 150; - resetState = RST_WAIT; - break; - - case RST_WAIT: - if (Timer2 == 0) { - SetBit(P2OUT, SYS_RESET_N); - if (SW2State == 0) - resetState = ON_STATE; - } - break; - } - - switch (state) { + + switch (resetState) { ////////////////////////////////////////////// + case ON_STATE: + if (SW2State > 300) { + resetState = RST_STATE; + } + break; + + case RST_STATE: + ClrBit(P2REN, SYS_RESET_N); + SetBit(P2DIR, SYS_RESET_N); + ClrBit(P2OUT, SYS_RESET_N); + Timer2 = 150; + resetState = RST_WAIT; + break; + + case RST_WAIT: + if (Timer2 == 0) { + SetBit(P2OUT, SYS_RESET_N); + if (SW2State == 0) + resetState = ON_STATE; + } + break; + } + + switch (state) { /////////////////////////////////////////////////// case WAIT_START: if (SW1State > 30) state = WAIT_START + 1; @@ -234,7 +234,7 @@ int main(void) state = STATE_SYS_PWR_OK; } break; - + case STATE_SYS_PWR_OK: if (Timer1 == 0) { SetBit(P3OUT, SYS_PWR_OK); @@ -304,7 +304,7 @@ __interrupt void Timer_A(void) if (Timer2) Timer2--; - + TAVector = TAIV; } |