Tack rvl, det var ju minst sagt intressant och tyder på att nånting är fel i min ände. Så...
Jag har (på nytt) laddat ner och på Pico'n installerat CircuitPython för W5500-EVB-Pico från
https://circuitpython.org/board/wiznet_w5500_evb_pico/
Jag har laddat ner hela Github-repot från
https://github.com/Wiznet/RP2040-HAT-CircuitPython
Jag har kopierat mapparna
adafruit_bus_device och
adafruit_wiznet5k samt filen
adafruit_requests.py från det nerladdade repot till mappen
lib på Pico'n.
Jag har editerar exempelkoden
W5x00_Loopback.py i repot så att pinout matchar den för W5500-EVB-Pico och sparat den lokalt under namnet
W5500-pico.py
Koden i sin helhet:
Kod: Markera allt
import board
import busio
import digitalio
import time
from adafruit_wiznet5k.adafruit_wiznet5k import *
import adafruit_wiznet5k.adafruit_wiznet5k_socket as socket
SPI0_SCK = board.GP18
SPI0_TX = board.GP19
SPI0_RX = board.GP16
SPI0_CSn = board.GP17
W5x00_RSTn = board.GP20
print("Wiznet5k Loopback Test (DHCP)")
led = digitalio.DigitalInOut(board.GP25)
led.direction = digitalio.Direction.OUTPUT
ethernetRst = digitalio.DigitalInOut(W5x00_RSTn)
ethernetRst.direction = digitalio.Direction.OUTPUT
cs = digitalio.DigitalInOut(SPI0_CSn)
spi_bus = busio.SPI(SPI0_SCK, MOSI=SPI0_TX, MISO=SPI0_RX)
ethernetRst.value = False
time.sleep(1)
ethernetRst.value = True
eth = WIZNET5K(spi_bus, cs)
socket.set_interface(eth)
server = socket.socket()
server_ip = None
server_port = 5000
server.bind((server_ip, server_port))
server.listen()
print("server listen")
print("Chip Version:", eth.chip)
print("MAC Address:", [hex(i) for i in eth.mac_address])
print("My IP address is:", eth.pretty_ip(eth.ip_address))
conn = None
while True:
eth.maintain_dhcp_lease()
if conn is None:
conn, addr = server.accept()
print("socket connected!")
print(conn, addr)
else :
if conn.status in (
SNSR_SOCK_FIN_WAIT,
):
print("socket SNSR_SOCK_FIN_WAIT")
conn.close()
conn = None
elif conn.status in (
SNSR_SOCK_CLOSE_WAIT,
):
print("socket SNSR_SOCK_CLOSE_WAIT")
conn.disconnect()
conn.close()
conn = None
else :
avail = conn.available()
if avail:
data = conn.embed_recv(2048)
if data:
print("DATA ptr", id(data), ",DATA Len: ", len(data))
conn.send(data)
Men när jag kör den kraschar den på rad 68 precis som innan:
Skärmklipp 2.PNG
EDIT: Jag har även provat att spara ovanstående kod PÅ Pico'n med namnet code.py och köra den men det blir samma fel.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.