某宝上已经有digispark这种小板板了,最近因为项目需要做一个宏键盘,因此需要一个支持USB HDI的单片机。起初思路是采用STM32但是因为时间只有一周还要实习(实际上是因为自己技术渣,随便找个借口),因此就看到网上大肆标榜的可以做BadUSB的digispark。买了个小板板之后测试了下,可以不错很好用。除了不能用串口其他的都挺好还支持ADC和SPI。
遂决定以ATTiny85为基础来做,首先需要做的就是给ATTiny85烧录一下Arduino的固件,这样才能加速开发。某宝目色了很多的编程器好像都不一定能成功支持windows10,就决定直接用Arduino来做烧录器给ATTiny85烧录固件。
烧录的具体的步骤如下:
- 安装Arduino IDE
这里推荐直接去Arduino中文论坛去下载,速度快而且各个版本的都有。
- 给手边的Arduino UNO或者是其他的官方板烧录ISP程序
首先先选择:文件->示例->ArduinoISP->ArduinoISP
- 连接Arduino UNO和我们的ATTiny85芯片
Arduino UNO和ATTiny85芯片的管脚连接对应表如下所示:
Arduino UNO(master) | ATTiny85(slaver) |
D10 | Pin 1 |
D11 | Pin 5 |
D12 | Pin 6 |
D13 | Pin 7 |
5v | VCC(Pin 8) |
GND | GND(Pin 4) |
- 烧录固件
连接好线路之后就可以下载Bootloader进行烧录了。(Bootlader的下载地址:https://github.com/micronucleus/micronucleus)下载完成之后进行解压,解压之后找到“/firmware/releases”路径下的t85_default.hex这个文件,这个就是我们要烧录的Bootlader了。
运行cmd连接arduino uno开始进行烧录,烧录的命令如下:
‘Arduino安装位置下的’\hardware\tools\avr/bin/avrdude -C "‘Arduino安装位置下的’\hardware\tools\avr/etc/avrdude.conf" -v -pattiny85 -carduino -串口 -b19200 -Uflash:w:‘t85_default.hex文件所在位置’:i -U lfuse:w:0xE1:m -U hfuse:w:0xDD:m -U efuse:w:0xFE:m
比如我的Arduino IDE是安装在D:\Program Files (x86)\Arduino下的使用的串口是COM7而t85_default.hex文件是放在D盘,那么命令就如下所示:
D:\"Program Files (x86)"\Arduino\hardware\tools\avr/bin/avrdude -C "D:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf" -v -pattiny85 -carduino -PCOM7 -b19200 -Uflash:w:D:\t85_default.hex:i -U lfuse:w:0xE1:m -U hfuse:w:0xDD:m -U efuse:w:0xFE:m
烧录完成之后会显示如下信息:
如果长时间卡死或者提示失败有可能是因为线路连接错误或者选择的烧录路径有问题,从步骤1从新检查一下。
在21世纪10年代的最后一天祝大家身体健康,阖家欢乐!让我们迎来明天的挑战,迎接下一个10年!