PIC: C18 CAN Probleme

Gast #492263
Lesenswert?
• ▲
▼
Hallo Leute,

ich hoffe mir kann jemand bei meinem Problem helfen:

PIC 18F
C18 Compiler

Arbeite mich gerade in CAN ein.
Habe dazu einfach von NULL angefangen und losprogrammiert.
Mit Hilfe eines Busmonitoring tools möchte ich nun schaun,
ob der PIC auch sendet.

Meine Frage:
Wenn ich mit CANSendMessage eine Nachricht verschicken möchte wird ja 
das TXREQ Flag des jeweiligen ConrolRegister gesetzt.

Jetzt versucht der µC doch die Nachricht zu versenden.

Sollte kein anderer Teilnehmer drahnhängen, wird ja kein ACK empfangen, 
was wiederum heißt der µC zählt Fehler hoch, oder?
Kenn das alles nur aus der AutomotiveTheorie!
(Der Bustreiber ist mit 120 Ohm abgeschlossen)

Frage das deshalb, weil bei mir unmittelbar nach Start des PIC das 
ErrorBit TXBO (ErrorCounter > 0xFF) gessetzt wird und die entsprechende 
IR_Routine meine MIL leuchten lässt.

Kann mir jemand von euch ein Vorgehen sagen, wie man normalerweise mit 
Steuergeräten an den CAN geht
(z.B. alle 50ms prüfen ob Teilnehmer da is (wie auch immer) und erst 
dann mit dem senden beginnen, oder so?)

Bitte um HILFE!


Grüße

Stefan
Gast #492281
Lesenswert?
• ▲
▼
tja, üblicherweise sitzen immer min. 2 Geräte am Bus - 1 macht ja auch 
wenig Sinn. Wenn du mit CAN experimentierst, solltest du dir auf jeden 
Fall einen CAN-Dongle für PC zulegen. Dann hast du schon mal eine 
funktionierende Station. Ich habe gute Erfahrungen mit dem USB-Dongle 
von Peak Technology gemacht. Preiswerter da:
http://www.canhack.de/
allerdings keine Erfahrungen meinerseits.
Und ansonsten verhält sich dein CAN korrekt, wenn kein Ack kommt. 
Allerdings sollte das nicht sofort nach dem Einschalten passieren - 
127 wird üblicherweise versucht, die Botschaft loszuwerden.
Gast #492285
Lesenswert?
• ▲
▼
Hab ne RestbusSim mit V*ctor CAN*e 6.0 geschrieben.
Geh im Moment mit Ca*CaseXL Log an mein Steuergerät.

Das heißt, wenn kein Teilnehmer angeschlossen ist und ich senden möchte, 
wird der Fehlerzähler hochgezählt und mein Bustreiber ausgeschalten??

Hat mir jemand einen Tip wie ich den Bus am besten auf aktive Teilnehmer 
prüfe?
Das Steuergerät soll auch funktionieren, wenn kein anderer Teilnehmer 
aktiv ist.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.