Forum: Mikrocontroller und Digitale Elektronik AT90CAN128 - CANbus programmieren!


von Mike K. (elkremso)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,
ich will meinem AT90CAN128 CAN beibringen. Habe mir ein BSP Programm 
ausm Netz geladen und mittels CodeVisionAVR auf den uController 
geschrieben. Will einfach nur die Testnachricht senden, mehr nicht.
Warum funktioniert dies nicht? Can_init und Can_tx sollten doc 
einwandfrei funktionieren? oder habe ich etwas vergessen?

Besonderes Augenmerk lliegen auf Zeile :40,41,42 und 110-114. was 
bedeutet das, bzw woher sind die infos? benötige ich dies? Benutze einen 
DS3695A CAN Transiever falls dieser was zur Sache tut? Ich bekommen 
nicht mal mit meinem OSzi irgendwelche BIts am PORTD5 wo TXCAN anliegen 
sollte? Was habe ich vergessen?
Wäre für eure Hilfe sehr DAnkbar.
Mfg Mike

von Mike K. (elkremso)


Lesenswert?

Kann mir denn niemand helfen?

von Gilles Andre (Gast)


Lesenswert?

Hallo zusammen,
ich hätte gerne einen AT90CAN128 programmiert. Ich habe mir sehr viel 
Beispiele angesehen, und ich merke, dass es nur Funktionen für den auf 
dem Chip integrierten CAN-Controller geschrieben sind. Gibt es überhaupt 
eine Main-Funktion, in der man rein schauen kann?
Wäre für eure Hilfe sehr Dankbar.

MfG. Gilles

von Gilles martial A. (Firma: privat) (esco)


Lesenswert?

Hallo zusammen,
ich hätte gerne einen AT90CAN128 programmiert. Ich habe mir sehr viel
Beispiele angesehen, und ich merke, dass es nur Funktionen für den auf
dem Chip integrierten CAN-Controller geschrieben sind. Gibt es überhaupt
eine Main-Funktion, in der man rein schauen kann?
Wäre für eure Hilfe sehr Dankbar.

MfG. Gilles

von fchk (Gast)


Lesenswert?

Also:

1. Der CAN-Bus will terminiert sein - an beiden Enden 120 Ohm.

2. Du brauchst auf dem Bus mindestens einen laufenden CAN-Bus 
Teilnehmer, der Deine gesendete Nachricht entgegen nimmt. Der sendende 
Controller erwartet nämlich eine Empfangsbestätigung, und wenn die nicht 
kommt, geht er sofort in einen Bus Error.

3. Der Transceiver ist für die Software unerheblich. Es ist immer ein 
kleiner 8-Pinner, der vor dem Controller sitzt. Es gibt verschiedene, 
welche für schnelle und welche für langsame Busse, und sogar welche für 
3.3V (die meisten brauchen 5V, weil das sonst mit den genormten 
Signalpegeln etwas eng wird. Ohne Transceiver gehts nicht.

4. Programmierbeispiele
Bei Atmel gibts passende Application Notes und eine AT90CAN32/64/128 
Software Library, die Du ruhig benutzen darfst. Zwar alles in English, 
aber das hast Du eben zu können, wenn Du Dich hiermit beschäftigst. 
Sorry, ist halt so.

fchk

von Julian L. (jlunz)


Lesenswert?

Hier findest du eine CAN Bibliothek(Funktion kann ich bestätigen):
http://www.kreatives-chaos.com/artikel/universelle-can-bibliothek
und hier eine von mir erstellte:
http://github.com/jlunz/Rob_CAN_lib
Unter examples findet man ein Beispiel für einen CAN-Sniffer, welcher 
Empfang und Senden von CAN-Nachrichten über UART unerstützt.
Hilfreich ist am Anfang ein funktionierender CAN-Sniffer.
Nochn paar Links:
http://atmel.com/dyn/resources/prod_documents/at90CANLIB_3_2.zip
http://www.avrfreaks.net/index.php?module=FreaksArticles&func=downloadArticle&id=23

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.