Forum: Mikrocontroller und Digitale Elektronik 78k0 FF2 - CAN ID auslesen


von David (Gast)


Lesenswert?

Hallo Forum,

ich arbeite zur Zeit im Zuge einer Studienarbeit mit dem "78K0-Fx2 
CAN-it"-Starter-Kit von Nec. Bei dem Microkontroller handelt es sich 
meines Wissens nach um den "78K0 FF2".
Das ganze läuft soweit auch ganz gut. Würde aber gerne einen Modus 
implementieren, bei dem alle auf dem CAN-Bus liegende Nachrichten 
abgehört werden und anschließend die ID auf dem Display ausgegeben wird.
Ich stelle mir das so vor, dass ich einfach einen Message-Buffer 
einrichte der alle Nachrichten empfängt. Frage ist nur woher ich die ID 
der jeweiligen Nachricht bekomme. Im Datenböatt habe ich geschaut, aber 
nichts dazu gefunden. Hat jemand eine Lösung für mein Problem?

Bin natürlich für jeden Beitrag dankbar!

von David (Gast)


Lesenswert?

Keiner eine Idee oder habe ich meine Frage einfach unverständlich 
formuliert?

von H.Joachim S. (crazyhorse)


Lesenswert?

Wird wohl daran liegen, dass sich hier kaum einer (oder gar  keiner?) 
sich mit dem MC auskennt...Ich wusste nichtmal, dass es sowas gibt :-)

Und die ID steht natürlich mit im messagebuffer, ansonsten wäre die 
empfangene Botschaft nutzlos.

von H.Joachim S. (crazyhorse)


Lesenswert?

Hat mich jetzt doch interessiert...
http://www2.renesas.com/maps_download/pdf/U17553EJ4V0UD00.pdf
Ab Seite 402 findest du doch alles, was du brauchst.

von David (Gast)


Lesenswert?

Danke für die Antwort!

Ich glaube ich habs verstanden. Ich habe mir einen Pointer 
initialisiert, der auf die Startadresse des Buffers + 0x1A / 0x1C zeigt. 
Der Inhalt müsste ja dann die empfangene ID sein. (C0MIDL01 ist nicht 
definiert).

   //CAN Empfangroutine:
   ...
   unsigned long int *pCOMID_u32;
   pCOMID_u32=(unsigned long int *)pBufferBaseAddress_u16 + 0x1A;
   pmsg_buffer_t->C0MID_u32 = *pC0MID_u32;
   ...
   //pmsg_buffer ist eine Zeiger auf struct RX_BUFFER_2 zeigt

   //main:
   result  = (unsigned long int)RX_BUFFER_0.C0MID_u32;


Kann das leider erst am Dienstag ausprobieren, weil ich nur dann einen 
Canalyser zum testen zur Vefügung habe.

Nochmal vielen Dank, ich werde natürlich berichten sobald ich es 
getestet habe!

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
Noch kein Account? Hier anmelden.