Forum: Mikrocontroller und Digitale Elektronik ir-proto will nicht


von josef angermeier (Gast)


Lesenswert?

das samsung-IR-protokoll schickt 4,5ms ein high und danach 4,5 ms einen 
low-pegel. ich triggere auf eine steigende flanke finde auch den high 
pegel allerdings nach mehr als 4,5 ms ist immer noch kein low-pegel 
sichtbar. meine zeitmessung ist bestimmt ein wenig ungenau, aber selbst 
nach 10ms kommt keiner... mach ich da was fundamental falsch ?


void delay2p5ms(){
  unsigned char temp1,temp2;
  temp1 = 0x21;
  while(temp1 > 0) {
    temp2 = 0xc9;
    while(temp2!=0) temp2--;
    temp1--;
  }
}

void delay_1s(unsigned int s){
  unsigned long s2 = s*1000/5*2;
  while(s2-->0)delay2p5ms();
}

SIGNAL(SIG_INTERRUPT0){
  unsigned char temp;
  if(!bit_is_set(PIND,INT0))  ledinvert_mask(128);
  else {
    delay2p5ms();
    if(!bit_is_set(PIND,INT0)) ledinvert_mask(64);
    else {
      delay2p5ms();
      delay2p5ms();
      if(bit_is_set(PIND,INT0)) ledinvert_mask(32);    // <----- das 
liefert true
      else led_mask(LEDMASK_ALL);
    }}

  delay_1s(6);
  led_mask(LEDMASK_NONE);
}


int main(){
  outp(0x00,DDRD);
  outp(0x40,GIMSK);
  outp(0x03,MCUCR);
  sei();
}

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.