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