PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie kann ich testen ob der mcp2515 auch was versendet??



Magnetus
23.03.2006, 20:48
Hallo!

Im Anhang mein Assemblercode des Senders. Nur weis ich nicht ob es
funktioniert. Der Empfänger hat noch Bugs, mit dem kan ich noch nicht
lesen.

Mich würde interessieren ob ich die Grundlagen richtig gemacht habe.
SPI-Master initialisieren. Den mcp Reset. Unten das zyklische Senden.

Sieht irgendwer einen groben Fehler? Könnte man nicht irgendwo durch
LEDs beweisen dass er sendet?

Hab mich an die Seite www.kreatives-chaos.de gehalten.

Danke schonmal!

MarkusG
27.03.2006, 17:07
Hi,

hab mal kurz drüber geschaut und schaut ganz gut aus.

Den CS bzw. SS Pin hast du nicht als Output deklariert, sondern nur SCK und MOSI. Also noch den CS Pin als Output deklarieren.

Bei deiner Sendeschelife lädst Du immer wieder alles neu -> das ist eigtnlich unnötig. Es reicht wenn Du einmal den Identifier und die Message in den RXBuffer lädtst und dann nur noch in deiner Schleife immer wieder ein Request to send schickst. Das spart Zeit.

Überprüfen ob gesendet wird. Hmm ... also wenn Du nur einen CAN Controller hast und noch keinen Bus und prüfen willst ob er sendet gibts erstmal folgendes zu bemerken: er wird eeeewig senden. Denn er sendet in Normal Mode so lange, bis er eine Empfangsbestätigung hat. Da aber kein Empfänger da ist wird er ewig senden. Gehst du in One shot Mode dann sendet er unabhängig von einer Empfangsbestätigung nur einmal.
(Nur so als kleine Info)


Überprüfen mit LED's .... nee, davon hast Du nicht allzuviel bei den Frequenzen siehst es halt mal kurz aufblitzen (wenn überhaupt) - aber was bringt dir das ? Du weist nicht was gesendet wird und wie oft und so ...

Ohne logic Analyzer oder Speicheroszi ist das schwer da was zu analysieren.

Bau dir am Besten ne zweite CAN Schaltung die etwas empfängt. Dann tastest Du dich langsam ran: zuerst soll dein Empfänger schon beim auslösen des Interrupts des MCP2515 etwas tun -z.B. ne LED anschalten-, unabhängig von der Nachricht (dann weisst Du schonmal ob etwas richtig empfangen wird). Und dann gehst Du halt weiter in die Tiefe mit versch. Messages und Identifiern.

Markus