DFC77 ISR-Problem

Gast #2535281
Hallo,
ich versuche gerade eine Funkuhr zu bauen und experimentiere ein 
bisschen mit dem DCF77-Modul von Conrad rum.

Wenn ich den benutzten ATMega8 mit folgendem Programm einsetzte, blinkt 
die Diode an PB0 im Sekundenrhythmus so wie sie soll (Empfangsmodul ist 
an PB1):

#include <avr/io.h>
#include <avr/interrupt.h>
#include <stdint.h>


int main()
{

  DDRB   = (1<<PB0);
  PORTB = (1<<PB1);
  int8_t i=1;
  uint8_t t=0;

while(1)
{
  /*if(bit_is_set (PINB, PINB1)) PORTB |= (1<<PB0);
  else PORTB &=~ (1<<PB0);*/


  if(bit_is_set (PINB, PINB1) && i)
  {
    if(t) {PORTB |= (1<<PB0); t=0;}
    else  {PORTB &=~ (1<<PB0); t=1;}

    i = 0;
  }

  if(bit_is_clear (PINB, PINB1)) i=1;
}

  return 0;
}

Wenn ich jedoch möchte, dass Empfangsmodul eine ISR auslöst, 
funktioniert das nicht, wenn ich jedoch einen Finger an den PIN PD2 
halte fängt die Diode an zu leuchten, wie sie soll (Empfangsmodul an 
PD2, Diode an PC4):

#include <stdlib.h>
#include <stdio.h>
#include <stdint.h>
#include <avr/interrupt.h>
#include <avr/io.h>

volatile uint8_t t=0;

ISR(INT0_vect) {

    t=1;
    }

int main(void)
{

  //externer Interrupt
  MCUCR = (1<<ISC01) | (1<<ISC00);
  GICR |= (1<<INT0);

  sei();
  DDRC = (1<<PC4);

  while(1)
  {
    if(t==1)
    {
      PORTC |= (1<<PC4);
    }
  }
  return(0);
}

Und in beiden Fällen habe ich direkt den Ausgang des Empfangsmoduls am 
µC angeschlossen ohne zusätzlichen Widerstände oder so.
Ich verstehe nicht warum das Signal im oberen Code erkannt wird und im 
unteren nicht.
Ich hoffe mir kann jemand helfen.

Gruß
Andy

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.