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!)
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?Code: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
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?







Zitieren
Lesezeichen