Mục lục:

Cách tắt JTAG trước khi khởi động Atmegas 40DIP với Arduino IDE Mightycore: 4 bước
Cách tắt JTAG trước khi khởi động Atmegas 40DIP với Arduino IDE Mightycore: 4 bước

Video: Cách tắt JTAG trước khi khởi động Atmegas 40DIP với Arduino IDE Mightycore: 4 bước

Video: Cách tắt JTAG trước khi khởi động Atmegas 40DIP với Arduino IDE Mightycore: 4 bước
Video: [AVR] Hướng dẫn lập trình AVR với Led, Button, LCD, DS18B20 2024, Tháng bảy
Anonim
Cách tắt JTAG trước khi khởi động Atmegas 40DIP với Arduino IDE Mightycore
Cách tắt JTAG trước khi khởi động Atmegas 40DIP với Arduino IDE Mightycore

Gần đây tôi đã sử dụng atmegas 40 DIP để điều khiển các hệ thống công nghiệp vì loại vi điều khiển này cung cấp nhiều I / O analog hoặc kỹ thuật số nên bạn không cần bất kỳ bộ mở rộng nào.

Atmegas32 / 644p / 1284p bao gồm một cách để tải xuống bản phác thảo bạn tạo được gọi là "JTAG" (xem

en.wikipedia.org/wiki/JTAG để được giải thích thêm). Nếu bạn sử dụng Arduino IDE hoặc LDmicro (IEC 61-131), các bản phác thảo được tải xuống bằng cổng SPI và các chân JTAG (4 chân: PC2 (D18) PC3 (D19) PC4 (D20) PC5 (D21) không khả dụng cho bất kỳ thứ gì Vì vậy, bạn phải tắt JTAG trong chương trình của mình.

Với arduino IDE, bạn chỉ cần thêm 3 dòng mã vào phần thiết lập như sau:

uint8_t tmp = 1 << JTD;

MCUCR = tmp;

MCUCR = tmp;

Phương pháp dòng MCUCR hai lần.

Với LDmicro, tôi không thể làm bất cứ điều gì.

Để tránh những sự cố này, tôi đã khởi động sau khi thao tác đăng ký MCUCR với atmegas của tôi với Arduino IDE trong Mightycore. Một cách để đốt cháy cầu chì với JTAG bị vô hiệu hóa.

Bước 1: Tính toán cầu chì của mạch 40DIP của bạn:

Tính toán cầu chì của mạch 40DIP của bạn
Tính toán cầu chì của mạch 40DIP của bạn
Tính toán cầu chì của mạch 40DIP của bạn
Tính toán cầu chì của mạch 40DIP của bạn
Tính toán cầu chì của mạch 40DIP của bạn
Tính toán cầu chì của mạch 40DIP của bạn

Truy cập trang web:

eleccelerator.com/fusecalc/fusecalc.php?chi…

Chọn mạch tốt (atmega1284p trong ví dụ của tôi nhưng cùng cách với 40 atmegas DIP khác) và nhìn vào "U hfuse: w: 0x99: m" và bỏ chọn JTAGEN để nó cho "U hfuse: w: 0xD9: m". Hãy ghi nhớ giá trị 0xD9.

Bước 2: Tìm kiếm tệp Boards.txt trong Thư mục Mightycore:

Tìm kiếm Tệp Boards.txt trong Thư mục Mightycore
Tìm kiếm Tệp Boards.txt trong Thư mục Mightycore
Tìm kiếm Tệp Boards.txt trong Thư mục Mightycore
Tìm kiếm Tệp Boards.txt trong Thư mục Mightycore

Trên PC của bạn, hãy tìm kiếm thư mục Mightycore. Đối với tôi trong C: / user / yourself / AppData / Local / Arduino15 / package / Mightycore / Harware / avr / 2.0.0 \boards.txt.

Bước 3: Sửa đổi Boards.txt và Bootload Bằng Mightycore:

Sửa đổi Boards.txt và Bootload Với Mightycore
Sửa đổi Boards.txt và Bootload Với Mightycore

Hãy xem khối tần số Đồng hồ của atmega1284p với Notepad ++.

Sửa đổi từng cầu chì cao như “1284.menu.clock.16MHz_external.bootloader.high_fuses = 0xd6” thành “1284.menu.clock.16MHz_external.bootloader.high_fuses = 0xd9” (0xd9 giá trị trước đó bạn phải nhớ). Lưu nó.

Sau đó, bạn chỉ cần làm theo phương pháp tải khởi động được cung cấp trong

www.instructables.com/id/Arduino-18x-Clone…

Đó là nó.

Bước 4: Kết luận:

Bây giờ bạn kiếm được 4 I / O và bạn không phải thực hiện bất kỳ thao tác đăng ký nào trong bản phác thảo của mình. Bạn cũng có thể quay lại và bật JTAGEN và khởi động lại một lần nữa.

Cảm ơn tất cả các hướng dẫn hấp dẫn trên web đã cho tôi một số chìa khóa để thành công trong dự án này.

Đề xuất: