Forum: Mikrocontroller und Digitale Elektronik PIC18F258 sendet kein CAN-Telegramm


von Ingo F. (ingof)


Angehängte Dateien:

Lesenswert?

Hilfe, mein 18F258 ärgert mich!

Habe versucht ein einfaches CAN-Telegramm zu versenden. Aber irgendwie 
tut sich nichts beim senden.

Wenn ich das TXREQ-Bit setze um ein Paket abzuschicken hängt der PIC für 
immer in der Warteschleife bis das Paket verschickt wurde. Aber das 
passiert wohl nie!

Am PIC habe ich noch den MCP2551 Transceiver mit einem 120 Ohm zwischen 
CANH und CANL.

Auch am CAN_TX kommt auch nichts aus dem PIC heraus. Habe auch mal ohne 
Transceiver und 20 KOhm Pullup an CanTX probiert.

Sende über den Uart noch Erfolgsmeldungen 'c' für den Config-Mode und 
'n' für den Normalmode (oder den 'l'LoopbackMode) der erfolgreich 
eingelegt wurde
Dann kommt noch '.' für das senden meines Testpaketes und dann sollte 
eigentlich '+' für das Erfolgreiche Versenden kommen.

Habe ich denn noch irgendwas in meiner Initialisierung vergessen? Warum 
sendet er nichts?

Hoffe mir kann jemand helfen weiss auch nicht mehr wass ich noch alles 
ausprobieren soll..

Gruß
Ingo

von Ingo F. (ingof)


Lesenswert?

Gibt es denn keinen der CAN auf einem PIC18F258 öder ähnliches am laufen 
hat?
Habe mich durch das Datenblatt und das zugehörige Errata durchgearbeitet 
und bin mir eigentlich sicher dass ich alles bei der Initialisierung 
bedacht habe. Aber er sendet nichts!.

Hat vielleicht jemand Einen Codeschnipsel inkl Initialisierung die nur 
ein beleibiges CAN-Telegramm sendet? Egal was, Hauptsache es 
funktioniert. Könnte dann sehen wass ich vergessen habe. Egal ob C oder 
Assembler.

Oder kann sich mal jemand erbarmen und meinen Quelltext ansehen? Ich seh 
den Wald vor lauter Bäumen nicht mehr....

Gruß
Ingo

von Ingo F. (ingof)


Lesenswert?

Schade dass mir keiner helfen konnte...

Habe es inzwischen doch noch herausgefunden. Waren gleich mehrere 
Fehler.

1) Im LoopbackMode wird wohl das TXREQ-Bit nicht zurückgesetzt wie ich 
vermutet hatte. Hätte also ewig drauf warten können.
2) Kabelbruch in einer Steckbrücke
>> Steckbrücke ersetzt
3) es scheint nicht zu reichen CANTX über Pull-Up zu verbinden damit er 
sendet.
4) Einige CAN-Register sind nicht über Access-Bank zu erreichen und nur 
über Bank15. (Bank15 darf ich wegen Errata nicht nutzen / evtl. CANRX 
Paketverlust).
>> Register über WIN-Bits gemapped

Das schöne daran war dass die Fehler sich alle gegen mich verschworen 
haben und gemeinsam gegen mich gekämpft haben...

Hat zwar eine Woche gedauert, hab aber doch gewonnen ;o)

Gruß
IngoF

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.