Arduino Atmega328P烧写bootloader及熔丝 | 您所在的位置:网站首页 › atmega328p和atmega16u2区别 › Arduino Atmega328P烧写bootloader及熔丝 |
文章目录
0.前言1.硬件配置2.烧录步骤2.1.安装AVRDUDESS软件2.2.检测MCU2.3.烧录bootloader2.3.烧录熔丝
0.前言
买到的新的Atmega328P芯片,需要对其烧录bootloader和熔丝才能正常使用,此处记录我烧录的过程。 参考资料1 1.硬件配置AVR下载器,如图: Atmega328P最小系统,且留出ISP接口,即5V,MISO,MOSI,SCK,GND,RESET 连接AVR和Atmega328P的相应引脚 其中,AVR下载器的实际引脚如图: 下载地址 2.2.检测MCUAVR和Atmega328P连接好之后,把AVR下载器插入电脑。然后打开AVRDUDESS软件,选择如下操作: 正常的话电机Detect后就可以识别出来MCU的型号。但是有可能会遇到如下错误: could not find USB device with vid 0x16c0 pid 0x5dc这个时候是因为驱动的问题,此时需要替换或者安装驱动。操作如下(参考视频教程): 下载Zadig,下载地址 打开 Zadig 软件,点击菜单栏中的 Options,点击 List All Devices。 选择需要替换的通讯端口为 USBasp,选择使用 libusbsbk(vx.x.x.x) 作为替换的驱动,然后点击 Replace Driver 进行替换。 这个时候再返回AVRDUDESS软件进行Detect操作,就能检测出MCU了。 2.3.烧录bootloader打开Arduino,新建一个空项目,选择设备类型如下: 导出项目的编译文件: 然后可以得到烧写使用的文件: 返回AVRDUDESS软件,按照如下操作: 得到如下结果,即烧写bootloader成功 先读取熔丝值,如下: 更改L为0xFF,H为0xDA,E为0x05或者0xFD,然后点击Write 注意事项: 这里Write一次不成功,就多write几次。 如果E是0x05,总是会报错如下: avrdude.exe: verifying ... avrdude.exe: verification error, first mismatch at byte 0x0000 0xfd != 0x05 avrdude.exe: verification error; content mismatch 实际上此时如果L和H读出来已经是烧写的值,并且E读出来是0xFD说明已经成功了。因为E只用了低三位,0xFD和0x05的效果是一样的。 参考解释 至此,全部完成。 |
CopyRight 2018-2019 实验室设备网 版权所有 |