发生什么事了?
i2c.scan()
返回 [60],因为它应该是:
from machine import Pin, I2C
import ssd1306
i2c = I2C(0, sda=Pin(0), scl=Pin(1), freq=400000)
oled=ssd1306.SSD1306_I2C(128, 64, i2c)
Traceback (most recent call last):
File "<stdin>", line 6, in <module>
File "/lib/ssd1306.py", line 110, in __init__
File "/lib/ssd1306.py", line 36, in __init__
File "/lib/ssd1306.py", line 73, in init_display
File "/lib/ssd1306.py", line 101, in show
File "/lib/ssd1306.py", line 119, in write_data
OSError: [Errno 5] EIO
使用 pico_ssd1306 驱动程序并运行以下代码:
from machine import Pin, I2C
from ssd1306 import SSD1306_I2C
i2c = I2C(0,sda=Pin(16),scl=Pin(17),freq=40000)
oled = SSD1306_I2C(128,64,i2c)
oled.fill(0)
oled.text("Hello",0,0)
请检查您的 OLED 是否支持 I2C 或 SPI?如果其SPI模式使用SSD1306_SPT。