Lập trình tiếng Trung Arduinos


7

Tôi có một Arduino UNO đích thực, nhưng tôi không muốn trả giá đầy đủ cho một cái mới để xây dựng các dự án bán thấm, vì vậy tôi đã mua một vài chip ATMEGA328P-PU từ AliExpress:

https://www.al.co.com/item/1pcs-lot-ATMEGA328P-PU-CHIP-ATMEGA328-Microcontler-MCU-AVR-32K-20MHz-FLASH-DIP-28/32346944696.html

Nhưng khi tôi cố gắng sử dụng Arduino IDE để tải bản phác thảo lên các chip mới, tôi gặp phải các lỗi sau:

avrdude: stk500_recv (): lập trình viên không phản hồi
avrdude: stk500_getsync () cố gắng 1 trên 10: không đồng bộ hóa: resp = 0x00

Nó xảy ra 10 lần và thoát.

Nó hoạt động tốt khi tôi đặt chip gốc trở lại.

Nếu bất cứ ai có bất kỳ kinh nghiệm với điều này, tôi sẽ rất biết ơn!

BIÊN TẬP:

Đang thử các bước ghi bộ tải khởi động và tôi gặp một lỗi mới.

Các bước tôi đã thực hiện:

Tôi đang thực hiện tùy chọn 8MHz và vì vậy tôi đã tải xuống tệp Breadboard-1-6-x.zip. (Tôi đang sử dụng Arduino IDE 1.6.5 trên Mac).

Tôi đã tải ví dụ ArduinoISP lên chip làm việc của mình, sau đó nối nó với bảng mạch theo hình ảnh.

Tôi đã chuyển lập trình viên sang Arduino với tư cách là ISP và đặt bo mạch thành ATMEGA328 trên bảng mạch (đồng hồ 8 MHz)

Tôi đã đi đến công cụ> ghi bootloader và gặp lỗi này:

Arduino: 1.6.5 (Mac OS X), Board: "ATmega328 trên bảng mạch (đồng hồ bên trong 8 MHz)"

/Users/andy/Desktop/Arduino.app/Contents/Java/hardware/tools/avr/bin/avrdude -C / Users / andy / Desktop / Arduino.app / Nội dung / Java / phần cứng / công cụ / avr / etc / avrdude .conf : m

avrdude: Phiên bản 6.0.1, được biên soạn vào ngày 14 tháng 4 năm 2015 lúc 16:30:25 Bản quyền (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Bản quyền (c) 2007-2009 Joerg Wunsch

     System wide configuration file is "/Users/andy/Desktop/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf"
     User configuration file is "/Users/andy/.avrduderc"
     User configuration file does not exist or is not a regular file, skipping

     Using Port                    : /dev/cu.usbmodem411
     Using Programmer              : stk500v1
     Overriding Baud Rate          : 19200 avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x15
     AVR Part                      : ATmega328P
     Chip Erase delay              : 9000 us
     PAGEL                         : PD7
     BS2                           : PC2
     RESET disposition             : dedicated
     RETRY pulse                   : SCK
     serial program mode           : yes
     parallel program mode         : yes
     Timeout                       : 200
     StabDelay                     : 100
     CmdexeDelay                   : 25
     SyncLoops                     : 32
     ByteDelay                     : 0
     PollIndex                     : 3
     PollValue                     : 0x53
     Memory Detail                 :

                              Block Poll               Page                       Polled
       Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
       ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
       eeprom        65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
       flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
       lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
       hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
       efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
       lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
       calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
       signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

     Programmer Type : STK500
     Description     : Atmel STK500 Version 1.x firmware

avrdude: stk500_getparm (): (a) lỗi giao thức, mong đợi = 0x14, resp = 0x14

avrdude: stk500_getparm (): (a) lỗi giao thức, mong đợi = 0x14, resp = 0x02

avrdude: stk500_getparm (): (a) lỗi giao thức, mong đợi = 0x14, resp = 0x10 Phiên bản phần cứng: -1543397124 Phiên bản phần sụn: 2165568.-1543397124 Topcard: STK502 Vtarget: 1.8 V Varef: 0.0 V Dao động:

avrdude: stk500_initialize (): (b) lỗi giao thức, mong đợi = 0x10, resp = 0x01 avrdude: khởi tạo thất bại, RC = -1 Kiểm tra lại các kết nối và thử lại hoặc sử dụng -F để ghi đè kiểm tra này.

avrdude: stk500_disable (): lỗi giao thức, mong đợi = 0x14, resp = 0x10

Làm xong. Cảm ơn bạn.

Vấn đề tải lên bảng. Xem http://www.arduino.cc/en/Guide/Troubledh Boot # upload để được gợi ý.

Tiến bộ ít nhất ...

Giải pháp:

Tôi đã sử dụng bố cục này:

nhập mô tả hình ảnh ở đây

Vì điều đó không thành công nên tôi quyết định thử sử dụng nano mà tôi có được cùng một lúc, và sau rất nhiều nghiên cứu tôi đã tìm thấy video này:

https://www.youtube.com/watch?v=94KCYqS3--A

Tôi đã nhảy các chân được hiển thị ở mốc 1:30 sang cổng ICSP và thử ghi bộ tải khởi động hai lần cho mỗi chip, và trong lần thử thứ hai, nó đã hoạt động! Không biết tại sao nó phải được thử hai lần.

Tôi có thể quay lại thử phương pháp Breadboard, để xem nó có hoạt động không nếu tôi thử ghi nó hai lần.


1
Một phần của Arduino xác thực là bộ tải khởi động có sẵn trên chip.
gre_gor

Bạn cũng cần một lập trình viên Trung Quốc, vì các chip Trung Quốc không hiểu ngôn ngữ của chúng tôi. Tôi đã có may mắn với loạt USB / ASP hoặc USB / isp avr. r.ebay.com/lALcjc
Paul

^ Giải pháp đúng, nhưng không giải thích đúng, Ben Heck nói rất rõ về sự khác biệt khi bắt đầu điều này: video "tạo một ban phát triển avr" ( youtu.be/ncobWc61wL4 )
Paul

Làm thế nào nó được kết nối? Và bạn có thể thêm -F vào lệnh avrdude?
Paul

Câu trả lời:


9

Đó là bởi vì đây là những con chip chưa được lập trình, có nghĩa là chúng chưa có bộ tải khởi động được lập trình vào chúng. Dưới đây là hướng dẫn sử dụng bảng Arduino của bạn để lập trình bộ nạp khởi động vào chúng (có rất nhiều hướng dẫn như vậy).

Nó chỉ cần được thực hiện một lần cho mỗi chip, vì vậy sẽ rất đáng để bạn lập trình tất cả chúng, một khi bạn đã thiết lập để làm một. Đây là một cách rất kinh tế để xây dựng "nhà-bia-duinos".


Tôi không có pha lê, vì vậy tôi sẽ phải đặt mua một số thứ mà tôi cho là ... Tôi đã thấy trong phần Hướng dẫn này rằng bạn có thể chạy ít nhất một số trong số chúng mà không cần pha lê. Tuy nhiên, tôi cũng có một Arduino Nano hoạt động ... Tôi có thể đặt 328P-PU vào UNO, và sau đó lập trình nó với Nano không?
AndyD273

@ AndyD273: Chắc chắn, chỉ cần sử dụng kết nối ISP gần MCU chính, không phải kết nối ISP gần đầu nối USB.
Ignacio Vazquez-Abrams

bạn có thể chạy chúng ở tốc độ 8mhz w / oa pha lê, 16 với một.
dandavis

Ok, tôi đã kết nối nó bằng cách sử dụng đồng hồ 8 MHz bên trong như trong liên kết của bạn, nhưng tôi đang gặp một lỗi mới. Tôi đã đăng nó ở trên.
AndyD273

-2

Hãy chắc chắn rằng bạn có trình điều khiển phù hợp cho các bảng Trung Quốc và cổng com đúng được chọn trong ide.


1
Đây là những con chip trần. Không có kết nối USB nào cả.
Gerben

Tác giả của câu hỏi đã sử dụng một Arduino khác, có kết nối USB và nó cần đúng cổng được chọn.
Avamander
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.