atmega328p烧不进去程序
我用328p做了一块板子,但是烧写不进去程序,提示avrdude: stk500_getsync(): not in sync: resp=0x00bootloader已经烧写进去而且是好用的,我把328p吹下来跟arduino UNO板子上的328p对换,发现我的板子还是提示这个错误,但是arduino板子就能下载进去。求大神指点。。我新手。。。 现在又出现错误e0了。。 我怎么看这个电路有问题啊,tx、rx没必要接二极管吧,貌似接的二极管正负极也错了,所以不通讯。 请问你的ch340g是自己画的吗?还是proteus库里面就有?我没有找到。 carney 发表于 2014-10-21 20:05 static/image/common/back.gif
我怎么看这个电路有问题啊,tx、rx没必要接二极管吧,貌似接的二极管正负极也错了,所以不通讯。
应该不是二极管的问题,我之前没有接二极管,直接连的 但是还是会出现这个错误。 clumsybird 发表于 2014-10-21 23:34 static/image/common/back.gif
请问你的ch340g是自己画的吗?还是proteus库里面就有?我没有找到。
我用的altium designerCH340G是自己画的 把2极管换成放光管,就可以看见有无下载信号了。 504835618 发表于 2014-10-22 11:09 static/image/common/back.gif
把2极管换成放光管,就可以看见有无下载信号了。
我换上去试了试刚刚下载的时候会闪两下 然后就不闪了 AVCC加接一个LC滤波 328的晶振有没有起振啊,检查下 本帖最后由 catnull 于 2014-10-24 11:34 编辑
1.rxd , txd 两个收发信号线上中间要串联一个1Kohm的电阻,并且上拉至5v,可以保证电平稳定。
2.还有要设置好boards.txt文件里的upload.baundrate = 115200 波特率参数。
3. 用spi编程器写bootloader文件的时候,要注意编写熔丝位HFUSE,LFUSE,EFUSE。烧写optiboot版本的速度快,但是和1.0.以后的arduino版本中的烧写程序avrdude不兼容,会在芯片signature(标志)握手时断线。如果你烧写的是optiboot版本的,建议使用0022版的arduino. 如果你烧的是atmega文件夹内的bootloader, 可以和arduino 兼容。不过你要注意,这里面的bootloader通信的波特率是57600, 比optiboot版本的要慢。但是其实差别不大。
4.要在/hardeware/arduino/boards.txt中,修改upload.protocol = arduino , 变成 upload.protocol = stk500. 就是开源的bootloader是用atmelstk500 协议实现串口编程的。个人认为 arduino 官方的板上有特别的Bootloader, 没有放出来。arduino 的协议真心不懂。也许是官方版的usb转串口芯片中设置了某种神秘的协议。
5. 祝你hacking 愉快。 看下这里你就明白啦!!!!!!
http://www.geek-workshop.com/thread-658-1-5.html
页:
[1]