Hallo zusammen,
ich arbeiite gerade mit dem oben genannten DSP. Ich möchte die CAn
Schnittstelle des DSP in Betrieb nehmen und orientiere mich nach den
beiden Datenblättern "spra876" und "spru074" um die Schnittstelle zu
initialisieren und die Mailboxes einzurichten.
Die Initialisierung klappt soweit und die Mailboxeinrichtung für Tx und
RX klappt auch. Daten kann ich jetzt auch schon übertragen, aber nur in
eine Richtung und zwar vom DSP zum PC, andersrum klappt es aber nicht,
weil ich nicht genau weiss wie man die Daten aus der Empfangsmailbox
rausholt.
Mein code für den Empfang von einem Byte sieht bis jetzt wie folgt aus:
1 | u08 rx_byte(void)
|
2 | {
|
3 | while(ECanaRegs.CANRMP.all != 0x00000008){} // Warte bis RMP gesetzt ist
|
4 |
|
5 | ECanaRegs.CANRMP.all = 0x00000008; // clear RMP Bit
|
6 |
|
7 | return ...
|
8 | }
|
In meinem Code ist Mailbox Nr.4 die Empfangsmailbox. Meine frage ist:
Was muss ich als Rückgabewert zurückgeben, damit ich die Daten aus der
Mailbox z.B in einer variable abspeichern will