自制atmega328p-pu为主控的Arduino核心板

来源:互联网 发布:苹果手机搬家软件 编辑:程序博客网 时间:2024/04/20 16:13

如题,准备工具如下:

硬件:

一片atmega328p-pu

16M无源晶振(必须16M)

USBASP下载器(用于烧写arduino的bootloader)

USB转串口工具(如PL2303或CH340)

软件:

Arduino1.8.2软件

progisp172软件(用于烧写arduino的bootloader)

步骤一:

焊接Arduino核心板,参见如下原理图:
这里写图片描述

步骤二:
烧写Arduino的bootloader。
USBASP连接usbasp下载接口,打开progisp172软件,如下操作:
1、Select Chip 选为Atmega 328P,点RD确认是否一致
2、熔丝位设置:低字节0xFF 高字节0xDE 扩展自己0xFF ,写入再读出看是否已正确写入熔丝位
3、调入flash:在arduino安装目录下的…\hardware\arduino\avr\bootloaders\optiboot\optiboot_atmega328.hex ,注意晶振必须是16M,如果用8M晶振则要用…\hardware\arduino\avr\bootloaders\atmega\ATmegaBOOT_168_atmega328_pro_8MHz.hex。
4、配置好熔丝位、调入flash后点自动即可。

步骤三:
1、Select Chip 选为Atmega 328P,点RD确认是否一致
2、熔丝位设置:低字节0xFF 高字节0xDE 扩展自己0xFF ,写入再读出看是否已正确写入熔丝位
3、调入flash:在arduino安装目录下的…\hardware\arduino\avr\bootloaders\optiboot\optiboot_atmega328.hex ,注意晶振必须是16M,如果用8M晶振则要用…\hardware\arduino\avr\bootloaders\atmega\ATmegaBOOT_168_atmega328_pro_8MHz.hex。
这里我用的是16M晶振,已经烧写了optiboot_atmega328.hex。
4、配置好熔丝位、调入flash后点自动即可。

步骤三:
使用Arduino1.8.2软件和串口工具PL2303上传程序:
如果烧写的bootloader是optiboot_atmega328.hex ,则开发板选项应为”Arduino/Genuino Uno”才可以。如果烧写的bootloader是ATmegaBOOT_168_atmega328_pro_8MHz.hex开发板应选为Arduino pro or pro mini,处理器选为328P。因为使用串口上传文件,所以需要手动复位,板子上的白色键即复位键。特别注意,点上传后编译进度满了之后迅速按下复位键,等待10秒左右,显示上传成功即可。如果过了半分钟还在上传中或者报错了,说明复位的时机不对或者bootloader和开发板选项不匹配。