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.
:
Gesperrt durch Moderator
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
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
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
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
Hallo Renate, schau mal hier: http://www.samberglund.se/AVR_page.htm oder hier: http://www.mcselec.com/index2.php?option=com_forum&Itemid=59&page=viewforum&f=1&sid=60f7096280b4e11f3cebc77a849c452d 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
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
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
Wer suchet der findet... http://web.archive.org/web/*hh_/www.samberglund.se/AVR/sb_can_m128.bas Das Web vergisst nichts
Beitrag #5578299 wurde von einem Moderator gelöscht.
Beitrag #5578300 wurde von einem Moderator gelöscht.
Beitrag #5580144 wurde von einem Moderator gelöscht.
Beitrag #5580145 wurde von einem Moderator gelöscht.
Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.