Arduino 独立版

标签 arduino arduino-uno atmega arduino-ide

我有一个 Arduino Uno,并且正在使用 arduino 1.0.5 IDE。我关注了他procedures for bootloading an atmega328P-PU on a breadboard .

我首先上传了 ArduinoISP 草图,进行了连接(使用外部振荡器),然后将其连接起来。然后,我选择编程器为 Arduino 作为 ISP,选择开发板为 Arduino duemilanove w/Atmega328P。然后我选择了正确的串行端口并单击“刻录引导加载程序”。 我收到以下错误:

avrdude.exe: stk500_program_enable(): protocol error, expect=0x14, resp=0x50avrdude.exe: initialization failed, rc=-1 Double check connections and try again, or use -F to override
this check.avrdude.exe: stk500_disable(): protocol error, expect=0x14, resp=0x51

如何解决这个问题?另外,我可以直接上传引导加载程序,在 Uno 上使用它来代替原始芯片吗?如果是这样,怎么办?

最佳答案

据我了解,您遇到的错误表明芯片读取错误。我经历过这种情况,芯片要么死了,要么连接不正确,尤其是电源。

您可以在教程中找到更多详细信息:https://www.arduino.cc/en/Tutorial/ArduinoISP

特别是那些事情:

  • Arduino 1.0 的注意事项:您需要对 ArduinoISP 代码。找到 heartbeat() 函数中显示的行 “延迟(40);”并将其更改为“延迟(20);”。
  • 选择项目 与您的开发板相对应的工具 > 开发板和串行端口菜单 用作编程器(不是正在编程的板)。

关于Arduino 独立版,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32805485/

相关文章:

timer - Arduino 纳米定时器

c - ESP32直接端口操作

c++ - 在 C++ 或 Arduino 中,如何在函数中接受未知类型的参数?

c++ - 尝试用纯c语言对arduino进行编程,在 '='之前出现以下错误: expected ',' , ';'、 'asm'、 '__attribute__'或 'Print' |

python - 从arduino收集 'double'类型数据

macos - 写入 MAC 的串行端口以与 Arduino 通信(fopen(/dev/tty.usbmodem1431)永远挂起)

timer - 如何从 DS3231 RTC 获得毫秒分辨率

c++ - 将变量放入字符串(arduino)

c - ATMEGA168A - 使用定时器

c++ - ISR 中使用的指针指向寄存器