Zeitstempel beim CAN-BUS

Gast #130362
Ich möchte einen Zeitstempel erzeugen und anzeigen lassen.
Das Projekt sieht so aus:
SJA1000 an einen ATMEAG8535 angeschlossen
ohne Interrupt Steuerung. --> Funktioniert alles wunderbar.
Wie muss ich dies softwaretechnisch lösen, damit ich einen Zeitstempel
angezeigt bekomme?
Benötige ich da unbedingt den Interrupt vom SJA1000?
Gast #130363
Dazu ist kein CAN-Interrupt notwendig.
Du brauchst in Deinem ATMega einen Timer, der z.B. mit 1 MHz getaktet
wird und z.B. durch 1000  oder 10000 teilt. Dann bekommst Du alle 1
bzw. 10 ms einen Timer-Interrupt, mit dem zählst Du einen 32-Bit-Zähler
hoch.
Sobald ein CAN-Telegramm angekommen ist, liest Du diesen Zähler aus,
und wenn's genauer sein soll, zusätzlich auch noch den Stand des
Timers.

Beide addiert gibt dann der Timestamp, den merkst Du Dir zu diesem
Telegramm.
SW-Zähler gibt Zeit im 1 bzw. 10 ms an
HW-Zähler zeigt Zeit in 1µs an.

Weitere Fragen einfach posten.
Gast #130366
Ich habe da noch eine Frage.
Welches Register bzw. Bit vom SJA1000 ist dafür zuständig,
beim Empfang von einer Nachricht?
Oder anders ausgedrückt. Wie kann ich erkennen ob gerade eine Nachricht
anliegt oder nicht?
Gast #130368
Hallo...

> Das Projekt sieht so aus:
> SJA1000 an einen ATMEAG8535 angeschlossen
> ohne Interrupt Steuerung. --> Funktioniert alles wunderbar.

Ich komme da durcheinander. Funktioniert nun alles, oder doch nicht.
Ansonsten sind die Register ganz gut im Datenblatt erklärt. Lohnt sich
echt da mal reinzuschauen...
Gast #130370
Schlimm find ich eher Deine Vorgehensweise beim Fragen stellen!
Es gibt da nen schönen Link, den ich leider grad nicht zur Hand habe
und ich hab auch keine Lust, den jetzt rauszusuchen.

Ich finds mittlerweile einfach nur dreist!

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.