Co może być nie tak, jeśli po wyjściu z przerwania program wraca do poczatku
funkcji main(). Proszę o podpowiedź.
Wielkie dzięki JZ
Kod: Dwa LEDy. LED_1 zapala się i gasnie. LED_2 sterowanie z zewnetrzne
ZAPAL/ZGAŚ
Proszę dodać znaczniki code!
Robak
funkcji main(). Proszę o podpowiedź.
Wielkie dzięki JZ
Kod: Dwa LEDy. LED_1 zapala się i gasnie. LED_2 sterowanie z zewnetrzne
ZAPAL/ZGAŚ
...
...
ISR(USART_RXC_vect ) //SIG_UART_RECV
{
data=UDR;
if ((data==0x01) && (bit_is_set( PIN(LED_PORT),LED_ZIEL))) //ZAPAL led
PORT(LED_PORT)&=~_BV(LED_ZIEL); //tu przełacza port, kasuje przerwania globalne, przenosi sie do poczatku main()
if ((data==0x02) && (bit_is_clear( PIN(LED_PORT),LED_ZIEL)))
PORT(LED_PORT)^=_BV(LED_ZIEL);
while ( !( UCSRA & (1<<UDRE)) )
;
UDR = data;
}
int main(void)
{
DDR(LED_PORT)|=0xC0; // Po wyjściu startuje z od tej lini
PORT(LED_PORT)|=0xC0;
DDR(MENU_PORT)=0xDE;
PORT(MENU_PORT)=0xDA;
UART_init(MY_UBRR);
SREG|=_BV(I);
while(1)
{
PORT(LED_PORT)^=_BV(LED_CZER);
_delay_ms(50);
} //end whileProszę dodać znaczniki code!
Robak