from machine import Pin, SPI
import time
spi = SPI(1, baudrate=1000000, polarity=0, phase=0,
sck=Pin(18), mosi=Pin(23), miso=Pin(19))
cs = Pin(5, Pin.OUT)
cs.value(1)
def mcp2515_reset():
cs.value(0)
spi.write(bytes([0xC0])) # RESET
cs.value(1)
def mcp2515_write(reg, value):
cs.value(0)
spi.write(bytes([0x02, reg, value]))
cs.value(1)
def mcp2515_read(reg):
cs.value(0)
spi.write(bytes([0x03, reg]))
val = spi.read(1)
cs.value(1)
return val[0]
print("Test MCP2515...")
mcp2515_reset()
time.sleep(0.1)
val = mcp2515_read(0x0E) # CANSTAT
print("CANSTAT:", hex(val))
while True:
time.sleep(1)