فهرست مطالب:

نحوه غیرفعال کردن 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 مرحله
تصویری: آموزش میکروکنترلر بخش دوم 2024, نوامبر
Anonim
نحوه غیرفعال کردن JTAG قبل از بوت شدن Atmegas 40DIP با Arduino IDE Mightycore
نحوه غیرفعال کردن JTAG قبل از بوت شدن Atmegas 40DIP با Arduino IDE Mightycore

اخیراً من از atmegas 40 DIP برای کنترل سیستم های صنعتی استفاده کردم ، زیرا این نوع میکروکنترلر بسیاری از ورودی و خروجی های آنالوگ یا دیجیتال را تأمین می کند ، بنابراین نیازی به هیچ توسعه دهنده ای ندارید.

atmegas32/644p/1284p شامل راهی برای بارگیری طرح ایجاد شده شما است که "JTAG" نامیده می شود (نگاه کنید به

fa.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 با استفاده از Arduino IDE تحت Mightycore ، دستکاری atmegas خود را بوت کردم. راهی برای سوزاندن فیوزها با 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 / yourself / AppData / Local / Arduino15 / packages / Mightycore / Harware / avr / 2.0.0 / boards.txt.

مرحله 3: اصلاح Boards.txt و Bootload With Mightycore:

اصلاح Boards.txt و Bootload With Mightycore
اصلاح Boards.txt و Bootload With Mightycore

به بلوک فرکانس ساعت atmega1284p با Notepad ++ نگاهی بیندازید.

هر فیوز بالا مانند "1284.menu.clock.16MHz_external.bootloader.high_fuses = 0xd6" را به "1284.menu.clock.16MHz_external.bootloader.high_fuses = 0xd9" (0xd9 مقدار قبلی که باید به خاطر داشته باشید) تغییر دهید. آن را ذخیره کنید.

سپس فقط باید روش بوت لودینگ ارائه شده را دنبال کنید

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

خودشه.

مرحله 4: نتیجه گیری:

در حال حاضر شما 4 ورودی/خروجی کسب می کنید و نیازی به دستکاری هیچگونه ثبت در طرح های خود ندارید. همچنین می توانید به عقب برگردید و JTAGEN را فعال کرده و یک بار دیگر راه اندازی مجدد کنید.

با تشکر از تمام آموزشهای جالب در وب که کلیدهایی را برای موفقیت در این پروژه به من دادند.

توصیه شده: