mikrocontroller.net

Forum: Projekte & Code AT90CAN128 CAN-Bus mit BASCOM


Autor: Renate (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen.
Ich habe 2 Platinen mit jeweils einem AT90CAN128 und einem PCA82C250 
Treiber.
Die 2 Platinen sind mit den Leitungen CAN-H und CAN-L miteinander 
verbunden.

Ich möchte mit BASCOM von der ersten Platine eine Byte-Variable zur 
zweiten Platine mit dem CAN-Bus übertragen. Die Platinen haben jeweils 
einen 16MHz Quarz.

Wie sehen die Subroutinen aus für:
Initialisierung (16MHz)
CAN-Senden (eine Byte-Variable mit dem Namen: Test)
CAN-Empfangen mit Interrupt-Routine

Die zweite Platine sollte nicht ausgebremst werden mit Waits oder so, 
deshalb dachte ich an eine Interrupt-Routine die den CAN-Bus abfrägt.

Wenn ich eine Variable vom ersten MC zum zweiten MC übertragen kann, 
dann ist mein Problem gelöst, den Rest (mehrere Variablen) bekomme ich 
dann schon selbst hin.

Bin für jede Hilfe dankbar, Gruß Renate.

Autor: Hans Josef (hjm)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Renate,

muß es Bascom sein. Oder traust Du Dich auch an C oder ASM,
dafür gibt es genug Beispiele.

Grüße
Hans-Josef

Autor: Renate (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es muß BASCOM sein, leider. Mit ASM habe ich nicht so viel Erfahrung. 
Hatte vor Jahren mal was auf dem PC gemacht mit Macro-Assembler.

Ich habe das Buch: Programmieren der AVR-RISC Mikrocontroller mit 
BASCOM-AVR von Claus Kühnel

Da ist ein Programmbeispiel drin, aber nicht für den AT90CAN128, sondern 
für den AT90S8515 mit SJA1000. Der Code ist ziemlich umfangreich, und 
ich denke das müßte mit dem AT90CAN128 wesentlich einfacher gehen, da 
die Hardware außer dem Treiber schon integriert ist.

Ich habe im Internet schon gegoogelt, aber nichts brauchbares gefunden.

Danke Dir

Gruß Renate

Autor: Hans Josef (hjm)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Renate,

das einzige was Dir erspart bleibt, die Kommunikation zum SJA.

Register müßen auch im Mega gesetzt werden.

Ich kenne mich nicht so mit dem aktuellen Bascom aus, werde mir das 
morgen einmal ansehen und sehen wie man das machen könnte.

Prinzipiell kann man die C-Routine in Basic umsetzen.

By the way, gibt es schon eine feste Vorgabe für die ID's auf dem Bus?

Grüße
Hans-Jsoef

Autor: Renate (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey. Nein es gibt keine feste Vorgabe für die ID´s, aber später sollen 
noch weitere AT90CAN128 dazu kommen.

Denke auch das man den C-Code in BASCOM umsetzen kann, aber C ist 
absolut fremd für mich.

Schon mal tausend Dank für Deine Mühe.

Renate

Autor: Hans Josef (hjm)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Renate,

schau mal hier: http://www.samberglund.se/AVR_page.htm

oder hier: 
http://www.mcselec.com/index2.php?option=com_forum...

Da wurde so was diskutiert.

Im ersten Beispiel gibts auch Bascom-Code
"7. Bascom testprogram for AT90CAN128           Download "

Der sollte das tun was Du möchtest.

Grüße
Hans-Josef

Autor: Renate (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Hans-Josef.
Das erste Beispiel mit dem Code könnte mir helfen.
Ich dachte es gibt fertige Routinen in BASCOM für:
Initialisierung
Senden
Empfangen

Danke Dir sehr für Deine Hilfe.

Gruß
Renate

Autor: Kasem (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,
Die erste Link "http://www.samberglund.se/AVR_page.htm"; läuft leider 
nicht. Es gibt kein Code. Bzw. kann man nichts runterladen.

Hat jemand vielleicht das im ersten Beispiel stehenden Code?

Es wäre sehr nett von Euch, wenn jemand das Code noch mal hier 
wiederholt.


Gruß
Kasem

Autor: Sucher (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wer suchet der findet...

http://web.archive.org/web/*hh_/www.samberglund.se...

Das Web vergisst nichts

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.