事出有因

之前在网上买的digispark开发板一直没有时间去研究,digispark开发板似乎有4个版本




digispark 不能 digispark无法识别_ide


digispark 不能 digispark无法识别_ide_02


我手上的是这个版本,与上面的俩有细微的差别,但大同小异,基本都是一样的。


digispark 不能 digispark无法识别_开发板_03


研究时发现商家给的资料都很老,网上找的相关内容也很少,导致我一直不知道用arduino ide如何上传自己写的代码,折腾了半天配置IDE支持环境有点眉目,结果上传方式不对不小心还把开发板的usb上传程序的bootloader覆盖掉了,导致就变砖了,计算机无法再通过USB识别开发板,插上去设备管理器中提示“显示未知USB设备(设备描述符请求失败)”,重装驱动也不行,换数据线换USB接口换电脑尝试都一样的情况。看来要救砖重新烧写boot loader了。

准备材料

  1. USB ISP编程器

网上很容易买到,玩家必备,我是黄色外壳那款,一定要带连接线


digispark 不能 digispark无法识别_ide_04


  1. micro usb数据线一根

请注意确保你的数据线是4根线芯的数据线,而不是只有2跟供电线的线缆,这种买小风扇小台灯送的线都是2芯的只能供电,不能传输数据!有很多人都不知道!

  1. 智峰下载器烧录软件PROGISP

网上很多,自行下载吧,我电脑里以前就一直有


digispark 不能 digispark无法识别_digispark 不能_05


  1. 连接开发板和USB ISP编程器的杜邦线

一头公头,一头母头

开始救砖刷boot loader

第一步,焊排针

将开发板带的xh2.54排针连接端子用电烙铁焊上去,以便待会连接杜邦线


digispark 不能 digispark无法识别_Powered by 金山文档_06


第二步,明确引脚

连接杜邦线,首先要明确开发板上的P0-5的I/O口与芯片ISP功能引脚定义的对应关系,也就是要确定

板子上的

P0就是MOSI引脚

P1就是MISO引脚

P2就是SCK引脚

P5就是Reset引脚

再加上下面的GND和VIN共计6根线构成了ISP总线,下一步就要将开发板与ISP烧录器的连接线插座相连了


digispark 不能 digispark无法识别_digispark 不能_07


第三步,连接下载器

将ISP插头与板子连接,ISP插头的引脚定可以从USB外壳的图示上可以看到


digispark 不能 digispark无法识别_开发板_08


在插头侧标注出来就如下图


digispark 不能 digispark无法识别_单片机_09


杜邦线实物连接


digispark 不能 digispark无法识别_ide_10


digispark 不能 digispark无法识别_ide_11


第四步,下载boot loader

连接好后去GitHub上下载boot loader的hex固件GitHub固件地址链接 


digispark 不能 digispark无法识别_digispark 不能_12


下载好后解压压缩包找到hex文件待用


digispark 不能 digispark无法识别_digispark 不能_13


第五步,烧录

打开烧录软件PROGISP


digispark 不能 digispark无法识别_ide_14


digispark 不能 digispark无法识别_Powered by 金山文档_15


digispark 不能 digispark无法识别_Powered by 金山文档_16


烧录成功后即救砖成功,同时也相当于更新固件为最新的


digispark 不能 digispark无法识别_单片机_17


此时拔掉ISP烧录器 插上microUSB数据线,电脑即可正常识别到设备了(记得装驱动,我这里安装过了,不赘述)


digispark 不能 digispark无法识别_Powered by 金山文档_18


查看boot loader版本

此时可以用Micronucleus工具查看固件相关信息了,下载地址Release Micronucleus V2.6 · micronucleus/micronucleus (github.com)


digispark 不能 digispark无法识别_digispark 不能_19


digispark 不能 digispark无法识别_开发板_20


通过USB上传ArduinoIDE中编写的测试代码


digispark 不能 digispark无法识别_digispark 不能_21


编写好后千万别急着点上传按钮,一定要将编程器选成Micronucleus,否则一定会将usb通讯的bootloader固件覆盖掉,然后又变砖了,我之前就是看了很多资料都没有提到这点,最后才踩了坑。


digispark 不能 digispark无法识别_开发板_22


具体发现这点的方式就是看到了国外的网站上的指导说明,链接: 

Digispark Attiny 85 With Arduino IDE : 3 Steps - Instructables


digispark 不能 digispark无法识别_单片机_23


里面有一张图的细节,才发现的正确打开方式,这样再去上传程序就不会再覆盖boot loader了。