\/ Prost Neujahr!
Hallo Klaus1973,
bin mein Programm noch mal durchgegangen und habe tatsächlich den Fehler gefunden!
Noch ungeklärt ist allerdings meine Frage
1. Wieso werden die Register immer hintereinander beschrieben z.B.
z.B. Mcp2515_bitmodify Canctrl , &B11101000 , &B00001000
Die zweite hebt doch die erste Anweisung auf?
Weis darauf keiner einen Rat?
Ich versuche mich jetzt mal an der Adressierung.
Wenn ich es richtig verstehe, dann müsste doch mit der folgende Initialisierungssequenz eines Empfängers, jede Nachricht mit der Sender-ID zur Auswertung kommen:
Code:
Mcp2515_init:
Mcphilf = Spi_reset
Reset Css
Waitus 10
Spdr = Mcphilf
Do
Loop Until Spsr.spif = 1
Waitus 10
Set Css
Mcp2515_write_register Cnf1 , &H13
Mcp2515_write_register Cnf2 , &H90
Mcp2515_write_register Cnf3 , &H02
'Interrupt einstellen
Mcp2515_write_register Caninte , &B00000011
'Buffer 0: Empfangen aller Nachrichten mit ID 255
Mcp2515_write_register Rxb0ctrl , &B00100000
'Buffer 1: Empfangen aller Nachrichten mit ID 255
Mcp2515_write_register Rxb1ctrl , &B00100000
Mcp2515_write_register Rxm0sidh , &B11111111
Mcp2515_write_register Rxm0sidl , &B11111111
Mcp2515_write_register Rxm0eid8 , 0
Mcp2515_write_register Rxm0eid0 , 0
Mcp2515_write_register Rxm1sidh , &B11111111
Mcp2515_write_register Rxm1sidl , &B11111111
Mcp2515_write_register Rxm1eid8 , 0
Mcp2515_write_register Rxm1eid0 , 0
'Einstellen der Pin Funktionen
'Deaktivieren der Pins RXnBF Pins (High Impedance State)
Mcp2515_write_register Bfpctrl , 0
'TXnRTS Bits als Input schalten
Mcp2515_write_register Txrtsctrl , 0
'Device zurück in den normalen Modus versetzen
Mcp2515_bitmodify Canctrl , &B11100000 , &B00000000
'ende MCP2515_init
Return
Leider reagiert der Empfänger darauf überhaupt nicht.
Wo habe ich den Fehler gemacht?[/code]
Lesezeichen