Hallo Zusammen,
ich bau mir grad eine Uhr mit VFD und DCF77. Es funktioniert soweit alles, bis auf den Alarm.
Hab ich einen Denkfehler oder wird die CallBack-Procedure RTCAlarm tatsächlich nicht aufgerufen?
Proz ist ein XMega256A3 (ohne U) .... der lag noch rum
Import SysTick, DCFclock, RTClock, SerPortE1, SwitchPort_G;
From System Import Tasks, LongWord;
From RTClock Import RTCAlarm;
Define
RTClock = iData, Time; { Time, DateTime }
RTCSource = SysTick;
Var
WakeHour : Array[1..4] of Byte; // 4 mögliche Weckzeiten
WakeMinute : Array[1..4] of Byte;
Procedure RTCAlarm;
Begin
AlertActive:=true;
Set4:=1; // Segment ein zur Kontrolle
End RTCAlarm;
// Setzen und aktivieren der Weckzeit
RTCAlarm_Time(WakeHour[WakeType],WakeMinute[WakeType],00);
RTCAlarm_Start(1);
// Alarm aktiv
If AlertActive=true
then
If MP3Busy=false // MP3-Modul spielt grad nicht ab
then
SetMP3Command(11); // MP3 Track 1 starten
EndIf;
If Inp_Raise_G(T4) // Taste gedrückt
then
SwitchPort_G_Clear;
AlertActive:=false; // Alarm aus
SetMP3Command(6); // MP3 aus
EndIf;
EndIf;
Gruss
Harry
ich bau mir grad eine Uhr mit VFD und DCF77. Es funktioniert soweit alles, bis auf den Alarm.
Hab ich einen Denkfehler oder wird die CallBack-Procedure RTCAlarm tatsächlich nicht aufgerufen?
Proz ist ein XMega256A3 (ohne U) .... der lag noch rum
Code
Import SysTick, DCFclock, RTClock, SerPortE1, SwitchPort_G;
From System Import Tasks, LongWord;
From RTClock Import RTCAlarm;
Define
RTClock = iData, Time; { Time, DateTime }
RTCSource = SysTick;
Var
WakeHour : Array[1..4] of Byte; // 4 mögliche Weckzeiten
WakeMinute : Array[1..4] of Byte;
Procedure RTCAlarm;
Begin
AlertActive:=true;
Set4:=1; // Segment ein zur Kontrolle
End RTCAlarm;
// Setzen und aktivieren der Weckzeit
RTCAlarm_Time(WakeHour[WakeType],WakeMinute[WakeType],00);
RTCAlarm_Start(1);
// Alarm aktiv
If AlertActive=true
then
If MP3Busy=false // MP3-Modul spielt grad nicht ab
then
SetMP3Command(11); // MP3 Track 1 starten
EndIf;
If Inp_Raise_G(T4) // Taste gedrückt
then
SwitchPort_G_Clear;
AlertActive:=false; // Alarm aus
SetMP3Command(6); // MP3 aus
EndIf;
EndIf;
Gruss
Harry