Problem mit RTCAlarm

  • 1
  • 2
  • 3
  • Seite 2 von 3
pvs-deck
PowerUser
Avatar
Geschlecht:
Alter: 54
Beiträge: 1343
Dabei seit: 02 / 2009
Betreff:

Re: Problem mit RTCAlarm

 · 
Gepostet: 10.03.2021 - 10:42 Uhr  ·  #9
Hallo Harry,

bits Du noch im Design?
Wenn ja, ich hatte Dir doch mal die alten RTC-ICs mit I2C gesendet. Ich bin mir nicht mehr ganz sicher, was das für einer war. aber die meisten RTC-ICS, von mir haben einen IRQ-Pin und auch eine Alarm-Funktion. Die laufen perfekt und richtig.

Thorsten
Harry
Moderator
Avatar
Geschlecht:
Herkunft: zwischen Augsburg und Ulm
Alter: 60
Beiträge: 2155
Dabei seit: 03 / 2003
Betreff:

Re: Problem mit RTCAlarm

 · 
Gepostet: 10.03.2021 - 12:06 Uhr  ·  #10
Hallo Thorsten,

ja ich hab nur einen Prototyp aufgebaut und mich bisher dafür entschieden gehabt, keinen RTC-Chip einzubauen. Dein Vorschlag wäre natürlich ein Grund davon abzuweichen. Ich habs zwar jetzt so gelöst, aber wenn DCF77 mal ausfällt, ist die Uhrzeit sehr ungenau. Ich überlegs mir mal :). Danke

…. eigentlich spiele ich grad nur mit einem VFD rum :D und mein Wecker ist in die Jahre gekommen.

Harry

….. achja grad einen guten Gag entdeckt: Im Demoprogramm RTClock XMega wird die Uhrzeit nicht bei gesperrten Interrupts gelesen. Braucht man das doch nicht???
Thomas.AC
Benutzer
Avatar
Geschlecht: keine Angabe
Alter: 44
Beiträge: 308
Dabei seit: 07 / 2013
Betreff:

Re: Problem mit RTCAlarm

 · 
Gepostet: 10.03.2021 - 21:07 Uhr  ·  #11
Zitat

….. achja grad einen guten Gag entdeckt: Im Demoprogramm RTClock XMega wird die Uhrzeit nicht bei gesperrten Interrupts gelesen. Braucht man das doch nicht???

In der Regel schon, unter Umständen nicht. Das Demo ist hier kein Maßstab.

Wenn man die Uhrzeit um 10:59:59 liest, dann wird man früher oder später fälschlicherweise zum Beispiel 10:00:59, 11:59:59, 10:59:00, 11:00:59 oder 11:59:00 erhalten.
Dies ist abhängig davon, in welcher Reihenfolge man die Uhrzeit liest. Es existieren allerdings auch Techniken, die es erlauben die Uhrzeit auch ohne gesperrten Interrupt zu lesen:

Beispiel:
Code

procedure ReadClock;
var
  hour, minute, second, day, month, year : byte;
  //Read clock without Interrupt disabled
begin
repeat
  second := RTC_second;//mustbefirstreadinsideloop!
  minute := RTC_minute;
  hour := RTC_hour;
  day := RTC_day;
  month := RTC_month;
  year := RTC_year;
  until RTC_second=second;
end;


Das funktioniert inAVRCo aber nur weil der Compiler und Optimiser den Code nicht umsortieren und globale Variablen nicht optimieren.

Aber eigentlich kann man den Interrupt (oder Systick) zum Uhrzeit lesen sorgenfrei sperren, wenn das Lesen alle 10ms oder mehr erfolgt. Nur im Falle harter Echtzeitanforderungen, wäre es zu überdenken.

Gruß
Thomas
Harry
Moderator
Avatar
Geschlecht:
Herkunft: zwischen Augsburg und Ulm
Alter: 60
Beiträge: 2155
Dabei seit: 03 / 2003
Betreff:

Re: Problem mit RTCAlarm

 · 
Gepostet: 11.03.2021 - 06:40 Uhr  ·  #12
Hallo Thomas,

danke für die Erklärung, man lernt eben nie aus.
Wenn du jetzt noch erklären könntest, wieso zwar RTCTickSecond angesprungen wird, aber RTCTickMinute nicht? Kann es sein, daß RTCTickSecond zuerst kommt und RTCTickMinute quasi "zu spät" dran ist, da der Minutenwechsel schon vorbei ist?

Gruss
Harry
Harry
Moderator
Avatar
Geschlecht:
Herkunft: zwischen Augsburg und Ulm
Alter: 60
Beiträge: 2155
Dabei seit: 03 / 2003
Betreff:

Re: Problem mit RTCAlarm

 · 
Gepostet: 11.03.2021 - 12:45 Uhr  ·  #13
@Thorsten: Das hier gehört zur Kategorie "Pleiten, Pech und Pannen" ..... hab grad einen von deinen RTCs DS1307 eingebaut (grad so noch ein Plätzchen auf der Platine gefunden) und dann festgestellt, daß der bei 3.3V nicht arbeiten will. 5V sind angesagt. Kennst du einen pinkompatiblen IC dafür? Da das ein Lochrasteraufbau ist, hab ich den DS1307 über einen Adapter S08-DIL eingebaut, d.h. er ist quasi gesockelt.
Thomas.AC
Benutzer
Avatar
Geschlecht: keine Angabe
Alter: 44
Beiträge: 308
Dabei seit: 07 / 2013
Betreff:

Re: Problem mit RTCAlarm

 · 
Gepostet: 11.03.2021 - 15:14 Uhr  ·  #14
Allo Harry,
Wenn RTCTickMinute nicht aufgerufen wird, dann vermutlich wegen einem Bug im Treiber. Guck doch einmal im asm file rein, ob die Callback Procedure überhaupt aufgerufen wird.

Gruß
Harry
Moderator
Avatar
Geschlecht:
Herkunft: zwischen Augsburg und Ulm
Alter: 60
Beiträge: 2155
Dabei seit: 03 / 2003
Betreff:

Re: Problem mit RTCAlarm

 · 
Gepostet: 11.03.2021 - 17:30 Uhr  ·  #15
@Thomas: Jetzt hast mich eiskalt erwischt ... ich und Assembler :D

@Thorsten: Hab einen gefunden, den MCP79410
Thomas.AC
Benutzer
Avatar
Geschlecht: keine Angabe
Alter: 44
Beiträge: 308
Dabei seit: 07 / 2013
Betreff:

Re: Problem mit RTCAlarm

 · 
Gepostet: 16.03.2021 - 16:19 Uhr  ·  #16
Hallo Harry,

im Simulator wird RTCalarm angesprungen.

Gruß
Der an diesem Beitrag angefügte Anhang ist entweder nur im eingeloggten Zustand sichtbar oder die Berechtigung Deiner Benutzergruppe ist nicht ausreichend.
  • 1
  • 2
  • 3
  • Seite 2 von 3
Gewählte Zitate für Mehrfachzitierung:   0

Registrierte in diesem Topic

Aktuell kein registrierter in diesem Bereich

Die Statistik zeigt, wer in den letzten 5 Minuten online war. Erneuerung alle 90 Sekunden.
MySQL Queries: 15 · Cache Hits: 14   137   151 · Page-Gen-Time: 0.039423s · Speichernutzung: 2 MB · GZIP: ein · Viewport: SMXL-HiDPI