Verwendung von CANTIMl/H und CANTTCL/H

#1866643
Lesenswert?

Ich habe Deine Frage erst mit einiger Verzögerung gesehen:

CANTIML/H ist ein von der "CPU-clock" abgeleiteter Taktgenerator. Sein 
jeweiliger Inhalt wird verwendet

(a) Zur Generierung eines "Timestamps" wenn Dein Programm ein Datagramm, 
bzw. das entsprechende MOB zum Senden absetzt (anscheined geschieht 
etwas ähnliches auch beim Emfang, davon weiss ich aber nichts) - ich 
verwende dies, um "hängengebliebene", d.h. vom Kontroller nicht zum 
Senden abgeholte Datagramme zu erkennen und zu "entsorgen".

(b) Habe ich noch nicht bewusst verwendet, und die Dokumentation hierzu 
mindestens sehr wage. Ich lese es als würde der Inhalt von CANTIML/H bei 
Anfang, bzw. Ende, des Empfangs/Sendens eines Datagramms in CANTTCL/H 
abgesetzt. Ein wenig Google zeigt in der gleichen Richtung 
http://www.efo.ru/ftp/pub/atmel/_C51_and_AVR_with_CAN/CAN_CD_June_2005/pdf/can_tutorial.pdf 
- was eine Antwort auf die Frage zu CANTTCL/H wäre.

Hoffe das hilft
#1867775
Lesenswert?

Jedes MOB enthält den Zeitstempel des letzten Empfangs oder Sendens.

Der MC kann zwar mehrere Empfangspuffer benutzen, aber nicht als FIFO.
D.h. die Reihenfolge ist unbestimmt.
Mit dem Zeitstempel des Empfangs kannst Du dann feststellen, welche 
Nachricht die älteste ist.

Man kann den Zeitstempel aber auch dazu benutzen, die interne Uhr aller 
Geräte zu synchronisieren. Das sollte auf wenige CPU-Zyklen genau gehen.


Peter

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren