RTC Timer für 8 Ereignisse

tbegle
Benutzer
Avatar
Gender: n/a
Age: 64
Posts: 150
Registered: 01 / 2018
Subject:

RTC Timer für 8 Ereignisse

 · 
Posted: 09.12.2020 - 14:13  ·  #1
Hallo User,

kann mir jemand auf die Sprünge helfen?

Ich möchte von 8 Geräten zu unterschiedlichen Zeiten „innerhalb einer Minute!“ die Zeit messen die ich dann für jedes Gerät aufaddiere

Herausforderung:
wie deklariere ich die 8 Timer? dass jeder Timer (1-8)für sich arbeitet (startet und stoppt)
-------------------------------------------------------------------------------------------

import SysTick,SerPort,ADCPort,TWIMaster,RTclock,;
from RTclock import RTCtimer,Random,float;
define
ProcClock = 16000000; // Hertz
SysTick = 10,Timer0; // msec}
…...
…...
// RTCtimer = [1..8],cannels,iData; // Cannels; Fehler ??????
RTclock = iData, DateTime; // DateTime
RTCsource = SysTick; //
RTCtimer = 4; ?????
--------------------------------------------------------------------------------------------------------------
procedure RTC_start(chan:byte); // (1-8)
begin
Disableints;
RTCsetSecond(0);//RTCsetminute(0); // Timer (1-8) auf 0 ?????
Enableints;
end;
// --------------------------------------------------------------
procedure RTC_stop(chan:byte); // (1-8)
begin
Disableints;
st:=RTCgetSecond;//RTCgetMinute; // Timer (1-8) st = xx Sek
Enableints;
end;

Grüsse
Toni
Harry
Moderator
Avatar
Gender:
Location: zwischen Augsburg und Ulm
Age: 59
Posts: 2134
Registered: 03 / 2003
Subject:

Re: RTC Timer für 8 Ereignisse

 · 
Posted: 09.12.2020 - 16:46  ·  #2
Hallo Toni,

brauchst du die Uhrzeit oder nur diese 60 Sekunden? Ich hatte mal ne Anwendung, bei der ich nur eine Zeitdifferenz benötigte. Dazu habe ich an einen Eingang einen 1Hz Oszillator angeschlossen und mit einem Interrupt darauf eine LongWord hoch gezählt. Dann gabs noch je Teilnehmer eine Start- und Stop-Variable als LongWord. Start: Start-Var:=TimerVar und Stop: Stop-Var:=TimerVar. Zeit:=StopVar - StartVar. Fertig.

LongWord reicht für ca. 136 Jahre ;)

Gruss
Harry
tbegle
Benutzer
Avatar
Gender: n/a
Age: 64
Posts: 150
Registered: 01 / 2018
Subject:

Re: RTC Timer für 8 Ereignisse

 · 
Posted: 09.12.2020 - 17:05  ·  #3
Hallo Harry,
136 Jahre dürften gerade reichen!- hihi
Die Motherboard's sind fertig, da möchte ich nicht mehr herum basteln
ich brauche nur Sekunden (RTCgetSecond(1-8) aber für Motor 1 - 8 jeweils einzeln um bei erreichen eines max Wert Pumpen einzuschalten

Gruss
Toni
Harry
Moderator
Avatar
Gender:
Location: zwischen Augsburg und Ulm
Age: 59
Posts: 2134
Registered: 03 / 2003
Subject:

Re: RTC Timer für 8 Ereignisse

 · 
Posted: 09.12.2020 - 17:49  ·  #4
Hallo Toni,

genau ist aber anderst ;).

Ich verstehe das so: Du rufst Procedure RTCtimer_Load (chan : byte; seconds : word[longword]); auf, mit chan 0...7 und einer Zeit seconds. Ist die Zeit abgelaufen, wird die CallBack-Procedure RTCtimer(chan : byte); mit dem gleichen Kanal chan aufgerufen.
Wenn du keinen festen Timer willst, mußt du die Zeit messen.Du kannst meine o.g. Methode verwenden, läßt die Zeitvariable aber über die CallBack Procedure RTCtickSecond; aufaddieren.

Harry

PS: Dieses Unterforum dient zum bereit stellen von Codeschnipseln, Programmen, Treibern, ..... nicht dazu, Fragen zu stellen ;)
tbegle
Benutzer
Avatar
Gender: n/a
Age: 64
Posts: 150
Registered: 01 / 2018
Subject:

Re: RTC Timer für 8 Ereignisse

 · 
Posted: 10.12.2020 - 09:56  ·  #5
Hallo Harry,
jetzt bin ich armer Tor genau so schlau wie zuvor, ich dachte es wäre einfacher zu lösen als longword... vielleicht habe ich mich auch
völlig missverständlich ausgedrückt und unerlaubt um eine Problemlösung in diesem Portal gebeten.
Bei EINEM Timer (Bad Beleuchtung) count down -> 120" -> 0" funktioniert's
Gruss
Toni

Ich werde nun auch diese 8 Timer in meine Do loop Schleife einbauen wo bereits 40 zuverlässig(perfekt) laufen (sehr zu empfehlen, simpel, und Speicher sparend)
Do
mdelay(10);
Befehlsregister(30 Befehle - if serstat = true ......) IF BF 'xx' then ....'
Time Out Proc -> if M1-M8_Flag = true then inc(x01-x08): '.......... ~10ms Auflösung
HW-Watchdog
loop
Harry
Moderator
Avatar
Gender:
Location: zwischen Augsburg und Ulm
Age: 59
Posts: 2134
Registered: 03 / 2003
Subject:

Re: RTC Timer für 8 Ereignisse

 · 
Posted: 10.12.2020 - 10:16  ·  #6
Quote by tbegle

... unerlaubt um eine Problemlösung in diesem Portal gebeten.

Das ist ein Blödsinn, natürlich kannst du hier im Forum fragen, aber vielleicht besser da: index.php?f=1

Aber wieso willst du plötzlich 8 Timer auf diese Art realisieren, wenn du schon 40 anderst laufen hast?

Was ich immer noch nicht verstanden habe: Sind deine Timer immer gleich lang?

Gruss
Harry
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: 8 · Cache Hits: 14   109   123 · Page-Gen-Time: 0.017903s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI