PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : MCP2515 Register auslesen?



SeveQ
06.10.2006, 19:43
Hi Leute,

entweder bin ich zu doof... oder ich mach was grundlegendes verkehrt. Ich möchte einen Wert, den ich in ein Register des MCP2515 CAN Controllers geschrieben hab hinterher wieder auslesen.

Dieses Auslesen passiert in folgender Routine (ich bin absoluter BASCOM Neuling, also bitte nicht lachen!)




Function Spi_read(byval Reg_add As Byte) As Byte
Dim V(3) As Byte
Dim D(4) As Byte

D(1) = Cmd_read
D(2) = Reg_add
D(3) = &HFF
D(4) = &HFF

Csn = 0
Spiout D(1) , 4
Spiin V(1) , 1
Csn = 1

Print "Rd: " ; D(2) ; " Val: " ; V(1)
Spi_read = V(1)

End Function


Es ist doch richtig, daß ich SS auf Low zieh, dann 0x03 an SO sende, dann das Register (0x0F = CANCTRL), dann (hier) zwei Dummy Bytes und danach dann sofort über Spiin das an SI anliegende Byte auslesen kann. Oder?

Weil so funktioniert's nicht. Ich bekomm statt des eingetragenen Wertes immer 0xFF zurück.

Wer sagt mir, was ich Depp da falsch mache, wo ich den Denkfehler mache?

rathma
19.10.2006, 11:17
Hi,
hast du was geschaft? ich hoffe das mein neuer bohrer heute oder morgen kommt, dann kann ich meine platine fertig machen und dann werd ich auch mal mit bascom und einen attiny2313 ans werk gehen can daten zu senden und empfangen :-)

SeveQ
19.10.2006, 12:23
Ja, allerdings nicht mehr mit BASCOM, sondern mit C. BASCOM hebe ich mir für die Roboter-Programmierung auf. Mein CAN Projekt ist ja mehr im automobilen Bereich angesiedelt.