我想听听您关于使用 Arduino IDE 和 avrdude 对预装了 Arduino 引导加载程序的 ATmega328 进行编程的建议。我正在使用基于 FTDI 芯片的 USB 转 TTL 串行分线板。
我在ebay上买了一个“FTDI Basic Program Downloader USB to TTL FT232 for Arduino ACC”
我完全按照这个设置:
通过 0.1uF 电容将 DTR 引脚连接到 ATmega 上的引脚 1。
将 RX 引脚连接到 ATmega (TX) 上的引脚 3
将 TX 引脚连接到 ATmega (RX) 上的引脚 2
将 5V 引脚连接到电路板的 5V 导轨,以通过 USB 接口为电路板供电。
将 GND 引脚连接到电路板的 GND 导轨
(来自遵循的说明)
当我尝试上传草图时,我得到了这个坏男孩:
avrdude: stk500_getsync(): not in sync: resp=0x00
这是我到目前为止所尝试的:
将 Arduino“屏蔽”的插头引脚连接到面包板上的芯片。为此,我使用板载 ATmega16U2 发送程序。结果:完美无缺!程序启动,每个人都很高兴。
回到 FTDI 分线板。切换 RX 和 TX(永远不知道?)仍然没有,所以切换回初始 TX - RX 配置。
FTDI 板上的 DTR 引脚肯定会成功重置 ATmega328,因为当我尝试上传内容时,它会经历神奇的闪烁序列。
现在,我已经测试了 ATmega328 是否可以通过分线板将串行信息发送到计算机。它可以。
我注意到一些有趣的事情:
TX 和 RX 线始终为 5 V。我知道这一点,因为如果我将 LED 与线并联,它们就会亮起。但是,分线板上标有 TX 和 RX 的小 LED 并不总是亮着……这是为什么呢?这能解释我的问题吗?
如果您想了解更多信息,请告诉我,我会为您获取。
- - - - - - - - - - - - - - - - - - - - - - -编辑 - - --------------------------------------
再一次问好,
好的,我在 5v 和 GND 之间添加了一个 100uF 的电解电容和一个 0.1uF 的电解电容。这不是建议的 47uF 和 0.1uF,但我想它仍然有助于过滤掉。(在它的时候。它会改变什么?)
我已经用一个 10k 的上拉电阻替换了我的 1k 上拉电阻
我仍然无法上传草图并得到同样的错误。DTR 线调用复位,我仍然得到串行输出。(我有一个草图,每秒通过串行发送递增的整数)
同样有趣的是,(尽管在此之前我仍然无法发送草图)我插在引脚 13(又名 19)上的任何 LED 现在都变得更暗了……也许我之前使用的超亮白色 LED 正在拉电流很大一个 270 欧姆的电阻器... -_- )
这里的热门需求是我的板和我正在使用的 USB 到 FTDI 分线板的图片。