Problem mit RTCAlarm

  • 1
  • 2
  • 3
  • Page 2 of 3
pvs-deck
PowerUser
Avatar
Gender:
Age: 53
Homepage: pvs-deck.de
Posts: 1341
Registered: 02 / 2009
Subject:

Re: Problem mit RTCAlarm

 · 
Posted: 10.03.2021 - 10:42  ·  #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
Gender:
Location: zwischen Augsburg und Ulm
Age: 59
Posts: 2134
Registered: 03 / 2003
Subject:

Re: Problem mit RTCAlarm

 · 
Posted: 10.03.2021 - 12:06  ·  #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
Gender: n/a
Age: 43
Posts: 308
Registered: 07 / 2013
Subject:

Re: Problem mit RTCAlarm

 · 
Posted: 10.03.2021 - 21:07  ·  #11
Quote

….. 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
Gender:
Location: zwischen Augsburg und Ulm
Age: 59
Posts: 2134
Registered: 03 / 2003
Subject:

Re: Problem mit RTCAlarm

 · 
Posted: 11.03.2021 - 06:40  ·  #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
Gender:
Location: zwischen Augsburg und Ulm
Age: 59
Posts: 2134
Registered: 03 / 2003
Subject:

Re: Problem mit RTCAlarm

 · 
Posted: 11.03.2021 - 12:45  ·  #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
Gender: n/a
Age: 43
Posts: 308
Registered: 07 / 2013
Subject:

Re: Problem mit RTCAlarm

 · 
Posted: 11.03.2021 - 15:14  ·  #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
Gender:
Location: zwischen Augsburg und Ulm
Age: 59
Posts: 2134
Registered: 03 / 2003
Subject:

Re: Problem mit RTCAlarm

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

@Thorsten: Hab einen gefunden, den MCP79410
  • 1
  • 2
  • 3
  • Page 2 of 3
Selected quotes for multi-quoting:   0

Registered users in this topic

Currently no registered users in this section

The statistic shows who was online during the last 5 minutes. Updated every 90 seconds.
MySQL Queries: 16 · Cache Hits: 15   139   154 · Page-Gen-Time: 0.035742s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI