-
o.k. dann hat sich das auch erledigt.
Gibt es denn hier irgent jemanden der den Code von Elkokiller oder Feitzi mal ausprobiert hat?
Wäre ganz nett, bevor ich mir jetzt extra ein Oszi zulege, jemanden zu haben der mal einen Kommentar dazu abgeben kann
-
Hallo zusammen,
ich habe das Programm von Feitzi auf meine Testschaltung afgespielt. Ergebnis: keine Funktion!
Die Frequenz meines Atmega Quarz ist 7,372 Mhz, die des MCP2515 ist 16 Mhz. Das sollte so o.k. sein.
Hier mal die Ausgabe über die RS232 Schnittstelle:
CANINTE: 255
CANINTF: 255
let's GO
T=1 MCP Pinb.3:1
CANINTF: 255
T=2 MCP Pinb.3:1
CANINTF: 255
T=3 MCP Pinb.3:1
CANINTF: 255
T=4 MCP Pinb.3:1
CANINTF: 255
T=5 MCP Pinb.3:1
CANINTF: 255
T=6 MCP Pinb.3:1
.
.
.
T=22 MCP Pinb.3:1
CANINTF: 255
T=23 MCP Pinb.3:1
CANINTF: 255
T=24 MCP Pinb.3:1
CANINTF: 255
T=25 MCP Pinb.3:1
SPI_read_Status0: 255
SPI_read_Status1: 255
SPI_read_Status2: 255
CANINTF: 255
T=26 MCP Pinb.3:1
CANINTF: 255
T=27 MCP Pinb.3:1
CANINTF: 255
T=28 MCP Pinb.3:1
CANINTF: 255
T=29 MCP Pinb.3:1
.
.
.
Das Programm läuft auf zwei CAN-Knoten so dass beim Senden des jeweils anderen eigentlich etwas ankommen müsste!
Tobias
-
schon mal versucht die Anderen Register des MCP auszulesen?
Wenn auf den anderen Registern auch die 255 kommt läuft Der MCP nicht.
-
Hi vitis,
ich denke daran liegt es nicht. Hier die Abfrage:
CANINTE: 255
CANINTF: 255
Canstat: 0
CANCTRL: 15
CNF1: 42
CNF2: 41
CNF3: 40
TXB0CTRL: 48
TXB1CTRL: 64
TXB2CTRL: 80
RXB0CTRL: 96
RXB1CTRL: 112
BFPCTRL: 12
TXRTSCTRL: 13
Kannst du daraus etwas ablesen?
Tobias
-
--- das ist mir jetzt aber peinlich ---
Ich habe meinen Fehler gefunden, ich habe die Portsauf meiner Roboternetz-Platine verwechselt. Da konnte garnichts gehen
Jetzt läufts und ich mache mich mals ans Programmstudium =D>
-
Hi Elkokiller,
was läuft denn jetzt bei dir?
Kannst du jetzt Daten übertragen?
Ich habe die Adressierung noch nicht verstanden.
Im Programm von vitis und Elkokiller wird die Adresse durch diese 8 Bits festgelegt
Code:
Mcp2515_write Rxm0sidh , 0 ' Eigene Empfängeradressen auf 00000000 setzen, kein Filter
Mcp2515_write Rxm0sidl , 0
Mcp2515_write Rxm0eid8 , 0
Mcp2515_write Rxm0eid0 , 0
Mcp2515_write Rxm1sidh , 0
Mcp2515_write Rxm1sidl , 0
Mcp2515_write Rxm1eid8 , 0
Mcp2515_write Rxm1eid0 , 0
Mit dieser Einstellung sollte der CAN Knoten jede Nachricht empfangen - richtig?!
Um die Adresse zu ändern, muss ich da einfach eines der 8 bits auf 1 setzen?
-
Hallo zusammen,
ich glaube kaum was ich sehe!
Die Übertragung über CAN funktioniert. Offensichtlich hat es nur nicht funktioniert weil ich immer meinen ISP-Stecker parallel drann hängen hatte.
Jetzt geht die Übertragung!
ich danke allen für ihre Unterstützung!!!!!
Tobias
-
Na, das ist doch erfreulich.
Hatten wir den Reset nicht schon einmal in Verdacht? :-)
Also geht der letzte veröffentlichte Code von Fetzi oder sogar beide Codes
-
In der Tat. Allerdings ist der Reset mit dem Atmega verbunden!
Mein Problem war die Verbindung zwischen der ISPSchnitstelle und dem PC. Offensichtlich hat die die Funktion zum CAN Prozessor beeinflusst.
-
Jo, wenn der SPI durch den ISP-Stecker blockiert ist geht nicht viel.
Bei dem Bustakt reichen schon u.U. die reinen Leitungen vom ISP,
dass die Flanken verlaufen und das Timing nicht mehr stimmt.