Tôi vừa chọn một cặp bo mạch nhân bản Arduino Mini Pro 5v (Nội địa, được bán tại Microcenter, hiện có giá $ 4 USD) và tôi muốn sử dụng Uno của mình như một ISP như tôi đã làm với chip ATmega328 và ATtiny85 trước đây. Tôi đã lập trình Uno với các hướng dẫn tại trang hướng dẫn ArduinoISP và tôi đã kết nối Uno với Mini Pro bằng cách sử dụng các hướng dẫn tại trang này . Tôi không thể lấy Arduino IDE hoặc avrdude từ dòng lệnh để lập trình thành công các bảng này cho dù tôi có cố gắng gì. Ngoại trừ việc tôi có thể sử dụng Arduino IDE để ghi bộ tải khởi động mới vào Mini Pro.
Tôi cũng đã kết nối với đèn LED trạng thái (chân 7, 8 và 9) và tôi có thể thấy rằng lập trình viên có tình trạng lỗi (chân 8) khi tôi cố gắng lập trình bất cứ điều gì ngoài bộ tải khởi động.
Đây là dòng lệnh avrdude của tôi, nơi tôi đã cố gắng đặt cầu chì trên Mini Pro:
avrdude -P /dev/tty.usbmodema0121 -b 57600 -c avrisp -p atmega328p -U lfuse:w:0xff:m -U hfuse:w:0xdb:m -U efuse:w:0xfd:m
Tôi nhận được sau đây từ avrdude:
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x1c
avrdude done. Thank you.
Tôi không gặp vấn đề gì với việc sử dụng khá nhiều thiết lập chính xác này, nhưng với chip ATmega328 hoặc ATtiny85 trên bảng mạch với avrdude trong quá khứ, vì vậy tôi không biết chuyện gì đang xảy ra ở đây.
Tôi cũng đã xem mã ArduinoISP và tôi không thực sự chắc chắn resp = 0x1c là gì. Tôi không thấy giá trị 0x1c được xác định trong phần Định nghĩa STK của mã, vì vậy tôi không chắc điều gì có thể gây ra điều này.
Bất kỳ con trỏ ở đây sẽ được đánh giá cao. Và vâng, tôi biết rằng tôi có thể sử dụng bảng Uno với chip ATmega328 được kéo để sử dụng như một lập trình viên. Nhưng tôi muốn có thể ghi đè lên khu vực bootloader bằng mã của riêng tôi giống như tôi có thể với chip ATmega328 thông thường.
Cảm ơn!