Arduino Mega hết thời gian giao tiếp với lỗi lập trình viên


10

Tôi có Arduino Mega 2560 và nó hoạt động tốt cho đến khoảng thời gian ăn trưa khi tôi bắt đầu gặp lỗi này:

avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer

Tôi biết đó không phải là mã tôi đang chạy khi tôi cố tải nó lên Uno và nó dường như tải mà không gặp vấn đề gì. Tôi cần sử dụng Mega vì nó có nhiều cổng hơn.

Từ những gì tôi đã đọc, đây có khả năng là một vấn đề với bộ nạp khởi động và có thể liên quan đến phiên bản hiện tại của Arduino. Tôi hầu như không biết gì về bootloader; tất cả những gì tôi biết là nó được sử dụng để tải mã lên Arduino (tôi nghĩ ...), do đó tôi vô tình sợ chỉ loay hoay với các tập tin liên quan.

Những trang này là những trang tôi đang xem, nhưng như tôi đã nói, tôi thực sự không biết đủ để cảm thấy thoải mái khi chỉ loay hoay với các tập tin.

Tôi đã thử gỡ cài đặt Mega hoàn toàn, sau đó cài đặt lại. Tôi cũng đã tải xuống một phiên bản cũ hơn của Arduino (0022) và dường như không có tùy chọn nào hoạt động.

Tôi không biết phải làm gì hoặc làm cách nào để thay đổi các tệp 'AVR' nếu cần.



Ohhh tôi đã không nhận thấy bài viết đó. Tôi đã thử mọi cách trừ việc ghi bộ tải khởi động ... có cách nào đơn giản để làm việc này mà không phải mua phần mềm không?
bladepanthera

thông thường bạn chỉ cần vào IDE, xem trong menu công cụ, chọn "Burn Bootloader". Hãy chắc chắn để chọn đúng bảng đầu tiên.
TheDoctor

@TheDoctor, tôi đã thấy tùy chọn đó, nhưng tôi không biết phải làm gì sau đó. Tôi đoán tôi phải tải lại bằng chương trình "bootloader" mới? Một trang web ( learn.sparkfun.com/tutorials/installing-an-arduino-bootloader ) nói rằng tôi cần mua phần cứng và tải xuống phần mềm cụ thể ... tất cả để thay thế phần mềm trên bộ tải khởi động?! Tôi không chắc tại sao tôi hiểu.
bladepanthera

1
Bạn có thể sử dụng Uno để lập trình lại Mega. Tra cứuArduinoISP
microtherion

Câu trả lời:


3

Bộ tải khởi động trên arduino chỉ là một phần mềm được viết để cho phép bạn cập nhật các bản phác thảo của mình bằng kết nối usb. Nếu không có bộ nạp khởi động, bạn không thể tải lên bản phác thảo chỉ bằng ide arduino.

Thông tin thêm về bộ tải khởi động có thể được tìm thấy ở đây: http://arduino.cc/en/Guide/En Môi? From = Tutorial.Bootloader Xem dưới tiêu đề có tiêu đề tải lên giải thích phần mà trình tải khởi động phát trong khi tải lên bản phác thảo.

Khi bạn sử dụng nút "Burn Bootloader" trong ide arduino, nó sẽ cố gắng viết một bản sao mới của bộ nạp khởi động lên bảng Arduino đính kèm. Để làm điều này, bảng phải được gắn theo một cách cụ thể - nghĩa là - sử dụng tiêu đề icsp / isp thay vì cáp usb.

Bây giờ để lập trình trực tiếp chip avr, bạn phải sử dụng một lập trình viên (phần cứng) bên ngoài. May mắn là bạn không phải mua một cái nếu bạn có arduino thứ hai vì arduino thứ hai có thể được sử dụng làm lập trình viên. Hướng dẫn để làm như vậy có thể được tìm thấy ở đây: http://arduino.cc/en/Tutorial/ArduinoISP

Thậm chí nhiều thông tin về bộ nạp khởi động: http://arduino.cc/en/Hacking/Bootloader?from=Main.Bootloader


1

Tôi gặp lỗi tương tự khi cổng Arduino COM của tôi bận với các ứng dụng khác. Tôi đã đóng ứng dụng đó và tải lên bản phác thảo Arduino và lỗi đã biến mất.


0

Thật không may, lỗi này đề cập đến nhiều vấn đề khác nhau và có rất nhiều bài viết ở đây và trên các nền tảng khác không có câu trả lời rõ ràng. Có lẽ nhóm Arduino nên cố gắng đưa ra các lỗi tốt hơn để phân biệt. Nhưng tôi đã cố gắng trả lời cùng một câu hỏi ở đây trong bài viết SO này .

Điều đã giải quyết vấn đề của tôi là vào Công cụ> Bảng> Trình quản lý bảng ... chọn "có thể cập nhật" cho "Loại" ở trên cùng bên trái và sau đó chọn các gói có thể cập nhật bên dưới và nhấp vào cập nhật.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.