Hallo kann mir jeman sagen wo der Unterschied ist bzw wofür die Register CANTIML/H und CANTTCL/H verwendet werden. Ich habe soviel rausbekommen das sie irgend etwas mit dem Can Timer zu tun haben. aber mehr nicht. Der Chip ist ein AT90CAN128
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
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.