LPC2294 Probleme mit Ausgabe auf CAN Bus

Gast #1359927
Lesenswert?

Hallo nochmal,

benutze das Olimex-Board mit LPC2294.
Möchte über den CAN1-Controller Signale ausgeben, dies geschieht auf dem 
festen PIN TD1.

Leider kommt dort (=Prozessorpin = vor dem CAN-Treiberbaustein) 
irgendwie nichts an. Bei debuggen mit uVision3 von Keil fällt mir jedoch 
auf, dass ich im Code das Command Register CANCMR auf den Wert 0x01 
setze und damit eine transmission request erzeuge, dieses aber nicht 
umgesetzt wird, im Memory MAP bleibt an der entsprechenden Adresse 
0xE0044004 stur ein 0x00 stehen.

Im Datenblatt steht, dass das Register ein Write/Only ist??!! Heisst 
das, das hier mit nichts anderem als einer 0x00 zu rechnen ist?

Vielleicht gibt es hier im Forum einen 2294er Spezialisten, der mir 
helfen kann..ansonsten nehme ich demnächst nen Hammer, der hilft 
immer...


Grüße,
Bernd
Gast #1360040
Lesenswert?

Ich habe ja nicht gesagt, dass es prinzipiell nicht geht?
Ich glaube schon, dass alle 4 CAN-Controller gehen...auch die 2 auf dem 
LPC2119..

Wie gesagt ich wundere mich nur, warum nichts auf dem BUS liegt und sich 
das CMR-Register nicht umschreiben lässt...
#1360043
Lesenswert?

Write-Only würde ich so interpretieren, dass man den Inhalt nicht 
auslesen kann.

Schau mal in die Error-Counter.

Hängt jemand im Bus? Ein CAN-Bus funktioniert nur, wenn mindestens eine 
weitere Station funktionsfähig ist und den Frame quittiert (tut sie auch 
wenn dadurch nicht adressiert). Sonst gibt es beim Versuch zu senden 
eine Ladung Fehler und anschliessend meldet sich die sendende Station 
ab. Sieht man am erwähnten Error-Counter.
#1360205
Lesenswert?

Bernd Bubble schrieb:

> auf, dass ich im Code das Command Register CANCMR auf den Wert 0x01
> setze und damit eine transmission request erzeuge

Könnte nützlich sein, wenn er mitkriegt auf welchen transmit buffer das 
gemünzt ist.

Dass dieses Register beim Lesen 0 liefert steht ausdrücklich im Manual.

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