HC12 CAN Programmierung

Gast #148310
Lesenswert?
• ▲
▼
Hallo,

ich habe ein HC12 Board von elektronikladen.de
nun würde ich gerne die CAN Schnittstelle in C programmieren.
Bisher hab ich ein paar CAN Anwendungen am PC programmiert
und würde einfach mal gerne probieren wie das am Mikocontroller läuft.
Hat jemand ein Beispiel, in dem man sehen kann wie man

- die Bitrate setzen kann
- 8 Bytes auf einem bestimmten Identifier sendet
- 8 Bytes und den Identifier lesen kann

oder hat jemand Dokumente darüber?

Ich habe das "Card12" Board mit MC912D60
Gast #148311
Lesenswert?
• ▲
▼
Hm, wir haben damals den CAN-Stack gekauft - von Vector-Informatik. Die
Software ist recht komplex. Bisher ist mir auch an anderer Stelle nur
Industriesoftware in die Hände gefallen die ich nicht rausrücken oder
anderweitig nutzen darf.  Ich suche daher auch nach etwas einfacherem-
wenn Du was findets, wäre ich dankbar.
Gast #148312
Lesenswert?
• ▲
▼
ich hab im Geschäft auch eine Vector CAN Karte mit CANalyzer nun
möchte ich halt für den "Heimgebrauch" zum etwas spielen eine kleine
CAN Kommunikation mit dem HC12 und einer Peak PCAN USB Karte aufbauen.
Was ich damit mache weiß ich noch nicht, im Moment will ich einfach
nur eine CAN Botschaft vom HC12 an die Peak Karte schicken und das
im CAN Monitor sehen ;)

Hier hab ich einen Source gefunden, der relativ gut passen würde,
leider ist das ganze in Assembler und nicht in C programmiert :(
http://elmicro.com/files/canchat.zip
Gast #148313
Lesenswert?
• ▲
▼
CANalyzer habe ich nicht privat und Peak PCAN USB sagt mir six. Das
Assemblerprogramm ist klein genug um es in C zu reversen und neu zu
backen. Must Dir halt Die Doku für dies Karte besoergen, um
rauszufinden, welcher Port auf dieser Karte WAS genau macht.

Ich kenne nun den HC12 nicht so gut, hatte es mit mit den x08-tern-
könnte es sein, daß das derselbe CAn-Controller ist? Eigentlich müsste
es doch seitens Motorola (inz. freescale) etwas doku geben, oder ?
Gast #148314
Lesenswert?
• ▲
▼
ich hab nun den Assembler Code zum laufen bekommen :)
nun muss ich das ganze nur noch nach C portieren. Wenn ich weiter
gekommen bin dann melde ich mich.

Peak PCAN USB ich ein USB to CAN Adapter auf Basis eines SJA1000
ist um einiges billiger wie eine Vector Karte, daher hab ich mir
das für zuhause gekauft. Kann jedoch leider keine Wakeup Frames
erzeugen.
Gast #148315
Lesenswert?
• ▲
▼
also ich hab nun versucht das ganze in C zu konvertieren, leider
klappt das ganze nicht.

Ich hab das ganze so übersetzt:

-------------------------------------------------
movb  #$01,CMCR0 --> CMCR0 = 0x01;
-------------------------------------------------
clr  CMCR1 --> CMCR1 = 0x00;
-------------------------------------------------
movb  #2,Tx0+$0C -->

#define Tx0    _P(0x0150)
#define DLC    _P(0x0150 + 0x0C)
DLC = 0x1;
-------------------------------------------------
Sloop  brclr  CTFLG,$01,Sloop
  staa  Tx0+4
  movb  #$01,CTFLG
-->
      #define CANTransmit  _P(0x0150 + 0x04)

  CTFLG = 0x00;
  wait(30000);
  CANTransmit = 0xAA;
  CTFLG = 0x01;

-------------------------------------------------

die Zeile: Sloop  brclr  CTFLG,$01,Sloop
ist natürlich noch nicht optimal übersetzt, sollte so doch aber
funktionieren oder? Sieht jemand den Fehler?
Gast #148316
Lesenswert?
• ▲
▼
warum auch immer: es klappt ;)

ich hab nochmal alles neu übersetzt und ein paar sachen entfernt.
Ich fasse nun alles in ein paar Routinen zusammen und wenn gewünscht
dann kann ich das natürlich hier posten.

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.