IAR a bolond, vagy én vagyok a vak?
Füzesi Arnold
arno at freemail.hu
Fri Jan 16 19:55:40 CET 2004
A LED állandóan zölden világít az a gondom. De nem értem miert?
LED(ORANGE) makro elindítva a mainban.
A makro:
#define LED(lvalue) {led_status=(lvalue);}
#define sbi(port,bit) (port |= (1<<bit))
#define cbi(port,bit) (port &= ~(1<<bit))
#define tbi(port,bit) ((port&(1<<bit))?1:0)
//LED functions
#define BLACK 0
#define RED 1
#define GREEN 2
#define ORANGE 3
#define LED_BLACK {cbi(PORTD,PD6);cbi(PORTD,PD7);}
#define LED_RED {sbi(PORTD,PD6);cbi(PORTD,PD7);}
#define LED_GREEN {cbi(PORTD,PD6);sbi(PORTD,PD7);}
#define LED_ORANGE {if(tbi(PORTD,PD6)) LED_GREEN else LED_RED}
timer interrupt:
---------------
#pragma vector=TIMER0_OVF_vect
__interrupt void TIMER0_OVF_handler(void)
{
if(led_status==BLACK) LED_BLACK
else if(led_status==RED) LED_RED
else if(led_status==GREEN) LED_GREEN
else if(led_status==ORANGE) LED_ORANGE
}
More information about the Elektro
mailing list