สารบัญ:

วิธีปิดการใช้งาน JTAG ก่อนบูตโหลด Atmegas 40DIP ด้วย Arduino IDE Mightycore: 4 ขั้นตอน
วิธีปิดการใช้งาน JTAG ก่อนบูตโหลด Atmegas 40DIP ด้วย Arduino IDE Mightycore: 4 ขั้นตอน

วีดีโอ: วิธีปิดการใช้งาน JTAG ก่อนบูตโหลด Atmegas 40DIP ด้วย Arduino IDE Mightycore: 4 ขั้นตอน

วีดีโอ: วิธีปิดการใช้งาน JTAG ก่อนบูตโหลด Atmegas 40DIP ด้วย Arduino IDE Mightycore: 4 ขั้นตอน
วีดีโอ: M#2: Atmega128 Development Board Pin Mapping | Outseal Dev. PLC Mega 2024, กรกฎาคม
Anonim
วิธีปิดการใช้งาน JTAG ก่อนบูตโหลด Atmegas 40DIP ด้วย Arduino IDE Mightycore
วิธีปิดการใช้งาน JTAG ก่อนบูตโหลด Atmegas 40DIP ด้วย Arduino IDE Mightycore

เมื่อเร็วๆ นี้ ฉันต้องใช้ atmegas 40 DIP เพื่อควบคุมระบบอุตสาหกรรม เนื่องจากไมโครคอนโทรลเลอร์ชนิดนี้มี I/O แบบแอนะล็อกหรือดิจิทัลจำนวนมาก คุณจึงไม่ต้องการตัวขยายใดๆ

atmegas32/644p/1284p มีวิธีดาวน์โหลดภาพสเก็ตช์ที่คุณสร้างขึ้นซึ่งเรียกว่า "JTAG" (ดู

en.wikipedia.org/wiki/JTAG สำหรับคำอธิบายเพิ่มเติม) หากคุณใช้ Arduino IDE หรือ LDmicro (IEC 61-131) ภาพสเก็ตช์จะถูกดาวน์โหลดโดยพอร์ต SPI และพิน JTAG (4 พิน: PC2 (D18) PC3 (D19) PC4 (D20) PC5 (D21) จะไม่สามารถใช้ได้สำหรับสิ่งใด ดังนั้น คุณต้องปิดการใช้งาน JTAG ในโปรแกรมของคุณ

ด้วย arduino IDE คุณเพียงแค่เพิ่มโค้ด 3 บรรทัดในส่วนการตั้งค่าดังนี้:

uint8_t tmp = 1<< JTD;

MCUCR = tmp;

MCUCR = tmp;

วิธีบรรทัด MCUCR สองครั้ง

ด้วย LDmicro ฉันไม่สามารถทำอะไรได้เลย

เพื่อหลีกเลี่ยงปัญหาเหล่านี้ ฉันบูตโหลดหลังจากลงทะเบียน MCUCR จัดการ atmegas ของฉันด้วย Arduino IDE ภายใต้ Mightycore วิธีเผาฟิวส์โดยปิดการใช้งาน JTAG

ขั้นตอนที่ 1: การคำนวณฟิวส์ของวงจร 40DIP ของคุณ:

การคำนวณฟิวส์ของวงจร 40DIP ของคุณ
การคำนวณฟิวส์ของวงจร 40DIP ของคุณ
การคำนวณฟิวส์ของวงจร 40DIP ของคุณ
การคำนวณฟิวส์ของวงจร 40DIP ของคุณ
การคำนวณฟิวส์ของวงจร 40DIP ของคุณ
การคำนวณฟิวส์ของวงจร 40DIP ของคุณ

ไปที่เว็บไซต์:

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

เลือกวงจรที่ดี (atmega1284p ในตัวอย่างของฉัน แต่เป็นแบบเดียวกันกับ 40 DIP atmegas อื่น ๆ) และดูที่ "U hfuse:w:0x99:m" และยกเลิกการเลือก JTAGEN เพื่อให้ "U hfuse:w:0xD9:m" จำค่า 0xD9 ไว้ให้ดี

ขั้นตอนที่ 2: ค้นหาไฟล์ Boards.txt ในไดเรกทอรี Mightycore:

ค้นหาไฟล์ Boards.txt ในไดเรกทอรี Mightycore
ค้นหาไฟล์ Boards.txt ในไดเรกทอรี Mightycore
ค้นหาไฟล์ Boards.txt ในไดเรกทอรี Mightycore
ค้นหาไฟล์ Boards.txt ในไดเรกทอรี Mightycore

บนพีซีของคุณ ค้นหาไดเร็กทอรี Mightycore สำหรับฉันใน C:\user\myself\AppData\Local\Arduino15\packages\Mightycore\Harware\avr\2.0.0\boards.txt

ขั้นตอนที่ 3: แก้ไข Boards.txt และ Bootload ด้วย Mightycore:

แก้ไข Boards.txt และ Bootload ด้วย Mightycore
แก้ไข Boards.txt และ Bootload ด้วย Mightycore

ดูที่บล็อกความถี่นาฬิกาของ atmega1284p ด้วย Notepad++

แก้ไขฟิวส์สูงแต่ละตัว เช่น “1284.menu.clock.16MHz_external.bootloader.high_fuses=0xd6” เป็น "1284.menu.clock.16MHz_external.bootloader.high_fuses=0xd9" (0xd9 ค่าก่อนหน้าที่คุณต้องจำ) บันทึกไว้

จากนั้นคุณเพียงแค่ต้องปฏิบัติตามวิธีการ bootloading ที่ให้มาใน

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

แค่นั้นแหละ.

ขั้นตอนที่ 4: สรุป:

ตอนนี้ คุณได้รับ 4 I/O และคุณไม่จำเป็นต้องทำการลงทะเบียนใดๆ ในภาพสเก็ตช์ของคุณ คุณสามารถย้อนกลับและเปิดใช้งาน JTAGE และรีบูตอีกครั้งได้

ขอบคุณบทช่วยสอนทั้งหมดบนเว็บที่ให้กุญแจสำคัญในการประสบความสำเร็จในโครงการนี้

แนะนำ: