विषयसूची:

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 कदम
वीडियो: Sell ATMEGA8535-16PU of Atmel 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 लाइन विधि।

LDmicro के साथ मैं कुछ भी करने में सक्षम नहीं था।

इन समस्याओं से बचने के लिए, मैंने MCUCR रजिस्टर में हेरफेर करने के बाद Arduino IDE के साथ माइटीकोर के तहत अपने एटमेगा को बूट किया। एक 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: Mightycore निर्देशिका में Boards.txt फ़ाइल की तलाश में:

Mightycore निर्देशिका में Boards.txt फ़ाइल खोज रहे हैं
Mightycore निर्देशिका में Boards.txt फ़ाइल खोज रहे हैं
Mightycore निर्देशिका में Boards.txt फ़ाइल खोज रहे हैं
Mightycore निर्देशिका में Boards.txt फ़ाइल खोज रहे हैं

अपने पीसी पर माइटीकोर डायरेक्टरी खोजें। मेरे लिए C:\user\myself\AppData\Local\Arduino15\packages\Mightycore\Harware\avr\2.0.0\boards.txt में मेरे लिए।

चरण 3: Mightycore के साथ Boards.txt और बूटलोड को संशोधित करें:

Mightycore के साथ Boards.txt और बूटलोड को संशोधित करें
Mightycore के साथ Boards.txt और बूटलोड को संशोधित करें

Notepad++ के साथ 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 को सक्षम कर सकते हैं और एक बार फिर से लोड कर सकते हैं।

वेब पर सभी दिलचस्प ट्यूटोरियल के लिए धन्यवाद जिन्होंने मुझे इस परियोजना में सफल होने के लिए कुछ चाबियां दीं।

सिफारिश की: