সুচিপত্র:

Arduino IDE Mightycore দিয়ে Atmegas 40DIP বুট করার আগে JTAG কিভাবে অক্ষম করবেন: 4 টি ধাপ
Arduino IDE Mightycore দিয়ে Atmegas 40DIP বুট করার আগে JTAG কিভাবে অক্ষম করবেন: 4 টি ধাপ

ভিডিও: Arduino IDE Mightycore দিয়ে Atmegas 40DIP বুট করার আগে JTAG কিভাবে অক্ষম করবেন: 4 টি ধাপ

ভিডিও: Arduino IDE Mightycore দিয়ে Atmegas 40DIP বুট করার আগে JTAG কিভাবে অক্ষম করবেন: 4 টি ধাপ
ভিডিও: DIY Arduino RC Receiver | Radio Control for RC Models and Arduino Projects 2024, জুলাই
Anonim
Arduino IDE Mightycore দিয়ে Atmegas 40DIP বুট করার আগে JTAG কিভাবে অক্ষম করবেন
Arduino IDE Mightycore দিয়ে Atmegas 40DIP বুট করার আগে JTAG কিভাবে অক্ষম করবেন

সম্প্রতি আমি শিল্প ব্যবস্থা নিয়ন্ত্রণ করতে atmegas 40 DIP ব্যবহার করতে পেরেছি কারণ এই ধরনের মাইক্রোকন্ট্রোলার অনেক এনালগ বা ডিজিটাল I/O সরবরাহ করে যাতে আপনার কোন সম্প্রসারণকারীর প্রয়োজন হয় না।

Atmegas32/644p/1284p আপনার তৈরি করা স্কেচ ডাউনলোড করার একটি উপায় অন্তর্ভুক্ত করে যাকে "JTAG" বলা হয় (দেখুন

আরো ব্যাখ্যার জন্য https://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 দিয়ে আমি কিছু করতে পারিনি।

এই সমস্যাগুলি এড়ানোর জন্য, আমি এমটিইউসিআর রেজিস্টার ম্যানিটুলেশনের পরে মাইটিকোরের অধীনে আরডুইনো আইডিই দিয়ে আমার অ্যাটমেগাস বুটলোড করেছি। একটি JTAG অক্ষম সঙ্গে ফিউজ বার্ন করার একটি উপায়।

ধাপ 1: আপনার 40DIP সার্কিটের ফিউজ গণনা:

আপনার 40DIP সার্কিটের ফিউজ হিসাব
আপনার 40DIP সার্কিটের ফিউজ হিসাব
আপনার 40DIP সার্কিটের ফিউজ হিসাব
আপনার 40DIP সার্কিটের ফিউজ হিসাব
আপনার 40DIP সার্কিটের ফিউজ হিসাব
আপনার 40DIP সার্কিটের ফিউজ হিসাব

ওয়েব সাইটে যান:

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

ভাল সার্কিটটি বেছে নিন (আমার উদাহরণে atmega1284p কিন্তু অন্যান্য 40 DIP এটমেগের মতো) এবং "U hfuse: w: 0x99: m" দেখুন এবং JTAGEN টি আনচেক করুন যাতে এটি "U hfuse: w: 0xD9: m" দেয়। আপনার মনে 0xD9 মান রাখুন।

ধাপ 2: Mightycore ডিরেক্টরিতে Boards.txt ফাইল খুঁজছেন:

Mightycore ডিরেক্টরিতে Boards.txt ফাইল খুঁজছেন
Mightycore ডিরেক্টরিতে Boards.txt ফাইল খুঁজছেন
Mightycore ডিরেক্টরিতে Boards.txt ফাইল খুঁজছেন
Mightycore ডিরেক্টরিতে Boards.txt ফাইল খুঁজছেন

আপনার পিসিতে Mightycore ডিরেক্টরি অনুসন্ধান করুন। আমার জন্য C: / user / yourself / AppData / Local / Arduino15 / package / Mightycore / Harware / avr / 2.0.0 / board.txt।

ধাপ 3: Mightycore দিয়ে Boards.txt এবং বুটলোড সংশোধন করুন:

Mightycore দিয়ে Boards.txt এবং বুটলোড সংশোধন করুন
Mightycore দিয়ে Boards.txt এবং বুটলোড সংশোধন করুন

নোটপ্যাড ++ সহ atmega1284p এর ক্লক ফ্রিকোয়েন্সি ব্লকটি দেখুন।

"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 I/O উপার্জন করেন এবং আপনাকে আপনার স্কেচগুলিতে কোনও রেজিস্টার ম্যানিপুলেশন করতে হবে না। আপনি ফিরে যেতে পারেন এবং JTAGEN সক্ষম করতে পারেন এবং আরও একবার রিবুট করতে পারেন।

ওয়েবে সমস্ত আকর্ষণীয় টিউটোরিয়ালকে ধন্যবাদ যা আমাকে এই প্রকল্পে সফল হওয়ার জন্য কিছু চাবি দিয়েছে।

প্রস্তাবিত: