TFH-Board-One AT89C51CC03

OP #318639
Lesenswert?

Hallo,

wenn ich z.B. an Board2 Taster P1.7 drücke soll über CAN-Bus an Board1
die Leuchtdioden P1.0 und P1.4 Leuchten bzw. Blinken. Siehe hierzu
bitte auf das Bild im Anhang.

Das funktioniert schon mal an jedem Board einzeln, doch mit dem
übertragen per Can-Bus will es einfach nicht klappen.

Bitte um Hilfe mit einem minimalen Assembler Beispiel. Ich danke euch
schon im voraus für die Mühe.
Angehängte Dateien:
Gast #318643
Lesenswert?

Wir haben das Board bei diesem Prof bestellt doch zu der CAN-Übertragung
konnte er uns nichts sagen.

Wir brauchen unbedingt ein kurzes Assembler Prog, um die Platinen
miteinander kommunizieren zu lassen.

Habt ihr nichts in euren Vorlesungen zum CAN?

Gruß
Gast #318644
Lesenswert?

Hallo!

Nein, leider nicht, wir haben in der Vorlesung mit dem ADuc812
gearbeitet, ich glaube so hieß das Ding.
Aber warum konnte er dir dazu nichts sagen? Oder wollte er dir dazu
nichts sagen? Weil das er nichts dazu wusste glaube ich kaum... ;-)
Gast #318646
Lesenswert?

Ich weiß leider nicht wo man die Syntax her bekommen könnte, auch kann
ich den Prof. v. Berg leider nicht mehr fragen, evtl. am 28.04. wieder,
wenn unsere offizielle Diplomübergabe ist... ;-)

Bin nämlich seit Februar nicht mehr an der FH!!
Gast #318650
Lesenswert?

Danke aber das habe ich schon draufgespielt und irgendwie ist das nicht
das was ich will.

Ich brauch nur was sehr kleines, wo ein Bit von z.B. einem Taster per
Can auf die andere Platine/Board überträgt wird und dort dann eine
Aktion ausführt wird wie z.B. eine leuchtend LED.

Hört sich eigentlich sehr simpel an. Wir arbeiten in der Schule mit
einem RD2 Board, hat zwar nichts mit CAN zu tun, aber dort haben wir
z.B. das senden bzw. empfangen am RS232 gelernt und ein A im ASCII Code
ausgegeben.

War mit ca. 8 Zeilen erledigt, das muss doch mit CAN so ähnlich
funktionieren, oder?
#318651
Lesenswert?

"War mit ca. 8 Zeilen erledigt, das muss doch mit CAN so ähnlich
funktionieren, oder?"

Nein, CAN ist wesentlich leistungsfähiger und daher auch komplexer.
Du mußt die Bittimings und alle 15 Puffer initialisieren und dann
Routinen für Senden und für Empfang schreiben, üblicher Weise mit
Interrupts, Polling sollte aber auch gehen.


Ich hab da zwar was gemacht, kann ich aber nicht rausgeben, da auf
Arbeit.
Sind etwa 800 Zeilen C-Code (mit Devicenet Protokoll) = 1,8kB Code im
Flash.


In Assembler würde ich CAN nie machen.


Peter
Gast #318652
Lesenswert?

Hi,

bitte sende mir deinen C-Code wenn du zuhause bist und bitte sag mir an
welcher Stelle ich mein simples Programm eintippen kann. Ich mache das
von mir aus in C und nicht in Assembler.

Muss ich was umstellen an deinem C-Code, da eine Platine zum senden und
die andere zum empfangen ist? Normal müssten beide gleichzeitig zuhören
und senden, was der Leitspruch von CAN ist.

Wenn das funktioniert lade ich dich mal auf ein Bier ein. Ich habe
nocht drei Wochen bis zur abgabe der Technikerarbeit und der blöde CAN
will einfach nicht.
Gast #318653
Lesenswert?

Ich meinte, der Code ist auf Arbeit entstanden und kann daher nicht
weitergegeben werden.

Du wärst bestimmt auch sauer, wenn Du für etwas bezahlst und ein
anderer kriegts umsonst.

Auch brauchst Du das Devicenet Protokoll bestimmt nicht.


Peter
Gast #318654
Lesenswert?

Ok, kann man nichts machen. Vielleicht hat sonst noch jemand einen
entsprechenden Code der auch offiziell ist.

Hier wird doch einer sein der die CAN Funktion an folgenden Controllern
nutzt:
- AT89c51cc03
- AT89c51cc02
- AT89c51cc01


Danke und Gruß
Rob

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren