Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: DCF und RTC Kategorie: Programmierung C (von Rainer - 5.05.2009 13:55)
Als Antwort auf DCF und RTC von Rainer - 4.05.2009 17:42
Ich nutze:
C-Control Pro Mega128
Moin zusammen,

ich hab das Test Programm nochmal geändert, es ist jetzt zu sehen das der DCF_Mode
in 3 Sekunden auf 3 geht und DCF_Parity immer mal wieder hoch zählt bis ca. 9 und
dann wieder auf 0 zurückfällt.
Meiner Meinung nach bedeutet das, da� ich Signale erhalte die auch ausgewertet werden können
aber nie komplett. Wie gesagt andere DCF Geräte funktionieren.
WAS MACH ICH FALSCH?????????????

GruÃ? uind Danke
Rainer

*************************************************************************************************
byte sec, last_sec;
//------------------------------------------------------------------------------
// character output
void WriteTwoDigits(byte pos,byte val)
{
    char num[3];
    LCD_CursorPos(pos);                     // set LCD Cursor
    Str_WriteWord(val,10,num,0,2);
    LCD_WriteText(num);                     // output string
}
//------------------------------------------------------------------------------
// set display format
void Display_Time(void)
{
//    WriteTwoDigits(0,Clock_GetVal(CLOCK_HOUR));   // hour
    WriteTwoDigits(0,DCF_PARITY);                   // DCF Parity status
    LCD_WriteChar('-');
    WriteTwoDigits(3,Clock_GetVal(CLOCK_MIN));      // minute
    LCD_WriteChar(':');
    WriteTwoDigits(6,sec);                          // second

    WriteTwoDigits(0 + 0x40, Stunde);               //DCF Stunden
    LCD_WriteChar('.');
    WriteTwoDigits(3 + 0x40, Minute);               //DCF Minuten
    LCD_WriteChar('-');
    WriteTwoDigits(6 + 0x40, DCF_MODE);             //DCF Mode
}

void Int_10ms(void)
{
  if (DCF_MODE == 0)
  {
    DCF_START();
  }
  DCF_PULS();
  DCF_SYNC();
  DCF_FRAME();
  Irq_GetCount(INT_TIM2COMP);
}

void Init_DCF(void)
{
  DCF_INIT();
  DCF_START();
  Irq_SetVect(INT_TIM2COMP,Int_10ms);
}
//------------------------------------------------------------------------------
// main program
void main(void)
{
    LCD_Init();                             // init Display
    LCD_ClearLCD();                         // clear Display
    LCD_CursorOff();                        // turn Display Cursor off
    Clock_SetTime(19,20,00,00);             // RTC Startzeit
    Clock_SetDate(21,03,09);                // RTC Sartdatum
    Init_DCF();                             // DCF initialisieren und Interuptroutine setzten
    last_sec= Clock_GetVal(CLOCK_SEC);
    while(1)                                // Schleife für RTC auf LCD ausgeben
    {
      sec= Clock_GetVal(CLOCK_SEC);
      if(sec != last_sec) Display_Time();
      last_sec= sec;
    }
}
***********************************************************************************


    Antwort schreiben


Antworten:

Re: DCF und RTC (von Rodrunner - 5.05.2009 17:14)
    Re: DCF und RTC (von Rainer - 5.05.2009 19:01)
        Re: DCF und RTC (von Rainer - 6.05.2009 21:22)
            Re: DCF und RTC (von Rainer - 9.05.2009 22:52)
                Re: DCF und RTC (von Ch-M - 7.08.2010 22:01)
                Re: DCF und RTC (von Mike Gilbert - 22.10.2009 16:17)
                Re: DCF und RTC (von dergeheime - 4.10.2009 21:58)