Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C Quellcode formatieren: <code>Quellcode</code> BASIC Quellcode formatieren: <basic>Quellcode</basic> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! -> I > Hallo zusammen, > > ich möchte die RTC auf dem Mega128 Application Bord mit dem > DCF Modul von Conrad Best. 641138 syncronisieren. > Um das ganze zu testen und zu verstehen habe ich ein Beispiel etwas abgewandelt. > > Leider Funktioniert die Sysncronisation nicht. DCF Singnal > ist da (andere Geräte brauchen ca. 2 - 3 Minuten). > > Hier mein Prog: > > byte seconds, minute, hour, day, mon, year; > byte sec, last_sec; > word xi; > //------------------------------------------------------------------------------ > // 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 > LCD_WriteChar(':'); > WriteTwoDigits(3,Clock_GetVal(CLOCK_MIN)); // minute > LCD_WriteChar(':'); > WriteTwoDigits(6,sec); // second > > WriteTwoDigits(0 + 0x40, Clock_GetVal(CLOCK_DAY)+1); // day > LCD_WriteChar('.'); > WriteTwoDigits(3 + 0x40, Clock_GetVal(CLOCK_MON)+1); // month > LCD_WriteChar('.'); > WriteTwoDigits(6 + 0x40, xi/100); // year > > } > > void Int_10ms(void) > { > xi++; > DCF_PULS(); > DCF_SYNC(); > DCF_FRAME(); > if (xi > 65000) > { > xi = 0; > DCF_START(); > } > Irq_GetCount(INT_TIM2COMP); > } > void Init_DCF(byte Port) > { > Port_DataDirBit(Port,0); > Port_WriteBit(Port,PORT_OFF); > DCF_INIT(); > DCF_START(); > Irq_SetVect(INT_TIM2COMP,Int_10ms); > } > //------------------------------------------------------------------------------ > // main program > void main(void) > { > xi =0; > LCD_Init(); // init Display > LCD_ClearLCD(); // clear Display > LCD_CursorOff(); // turn Display Cursor off > > Clock_SetTime(19,20,00,00); > Clock_SetDate(21,03,09); > > Init_DCF(40); > > last_sec= Clock_GetVal(CLOCK_SEC); > while(1) > { > sec= Clock_GetVal(CLOCK_SEC); > if(sec != last_sec) Display_Time(); > last_sec= sec; > } > } > > Wo mache ich einen Fehler ? > > Gruß und Danke Rainer