pyboard405意外故障,micropython OLED例程无法运行,折腾了大半天。

thonny报告:

Traceback (most recent call last):
  File "<stdin>", line 3, in <module>
RuntimeError: name too mode

# main.py -- put your code here!
from machine import I2C,Pin         #从machine模块导入I2C、Pin子模块
from ssd1306 import SSD1306_I2C
 
i2c = I2C(sda=Pin("Y8"), scl=Pin("Y6"))   #pyBoard I2C初始化:sda--> Y8, scl --> Y6
oled = SSD1306_I2C(128, 64, i2c, addr=0x3c) #OLED显示屏初始化:128*64分辨率,OLED的I2C地址是0x3c
 
oled.text("Hello World!", 0,  0)      #写入第1行内容
oled.text("MicroPython",  0, 20)      #写入第2行内容
oled.text("By 01Studio",  0, 50)      #写入第3行内容
 
oled.show()   #OLED执行显示

确认代码无语句和输入错误。系统连接信息如下:

Traceback (most recent call last):
  File "main.py", line 3, in <module>
RuntimeError: name too mode
MicroPython v1.18-49-g0a4bd20a6-dirty on 2022-03-25; PYBv1.1_CN with STM32F405RG
Type "help()" for more information.

技术小龙大佬提示恢复出厂设置,依计执行,无果。

单独连接硬件测试。

涛声依旧。

小龙大佬提示:这个没啥好找的了,固件版本一致代码一致,不行就的话目前只能找硬件问题了。或者再手动刷一次固件看下是不是固件文件丢失了。

安装dfu,打开刚刚安装的 DFU 软件,按下开发板 RST 复位键,dfu找不到芯片,芯片亮了红色,橙色,蓝色led。

检查驱动,OK。

大佬提示:用了stm32cubeprogrammer 就不能用这个DFU了 那个驱动不兼容,二选一。驱动可以有。

Tao大佬提示:dfu可以转hex

st的programmer可以找到芯片,但是dfu找不到。不甘心删除st软件。开始折腾了

根据大佬提示,转换固件为bin后,无果。现在怀疑是没有发现问题在哪里。

龙大佬提示:老老实实,把原先驱动卸了就是了。

换了一个win10台式电脑,找不到驱动,人家要下班,不再打扰人家。

使用我的一个win7笔记本电脑,dfu找不到驱动,使用硬件管理器更新驱动(使用dfu自动驱动更新),无果。

吃过饭,又换了一个老掉牙的台式电脑(win10),找不到驱动,使用硬件管理器更新驱动(使用dfu自动驱动更新),均无果,这个版本的win硬件管理器都费了我一些功夫。

不甘心啊。电脑的st软件卸载了,dfu还是找不到芯片,驱动没有问题了。重启电脑(win11)还是不行。

重启电脑切换到win7,安装dfu,驱动没有问题,dfu打开的时候就一下子发现芯片了。于是,一路更新固件。OK,thonny又连接上了,没有oled,咱们拷贝一个,结果还是报错。

打开led流水灯,led点亮py文件,可以运行。oled就是报错。在寻找运行例程的时候,发现驱动1306文件双击打不开,心生怀疑,不应该啊,赶紧找一个能打开的。感谢上帝,能打开,拷贝,运行。

没有错误!

原来是驱动文件打不开,驱动文件格式不对。谁能想到驱动文件还会有问题。

草!

赶紧向两位大佬汇报并致谢。

总结:dfu安装和驱动文件均与操作系统有关,与st cubeprogrammmer冲突,驱动文件可以打开以保证无误。

继续搬砖!

20240929 20:33

还能帮助其他网友。嘿嘿嘿

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值