תוכן עניינים:
2025 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2025-01-13 06:57
לאחרונה יצא לי להשתמש ב- atmegas 40 DIP לשליטה במערכות תעשייתיות מכיוון שמיקרו -בקר מסוג זה מספק קלט/פלט אנלוגי או דיגיטלי רבים כך שאינך צריך הרחבות.
ה- 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 את האטמוס שלי עם Arduino IDE תחת Mightycore. דרך לשרוף את הנתיכים עם JTAG מושבת.
שלב 1: חישוב הנתיכים של מעגל 40DIP שלך:
כנס לאתר האינטרנט:
eleccelerator.com/fusecalc/fusecalc.php?chi…
בחר את המעגל הטוב (atmega1284p בדוגמה שלי אך באותו אופן עם 40 אטמי מגזמים אחרים) והסתכל על "U hfuse: w: 0x99: m" ובטל את הסימון של JTAGEN כך שהוא נותן ל- "U hfuse: w: 0xD9: m". זכור את ערך 0xD9.
שלב 2: חפש את קובץ Boards.txt במדריך Mightycore:
במחשב האישי שלך חפש בספריית Mightycore. בשבילי ב- C: / user / myself / AppData / Local / Arduino15 / packages / Mightycore / Harware / avr / 2.0.0 / boards.txt.
שלב 3: שנה את Boards.txt והעמסת האתחול באמצעות 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 ולהעלות מחדש פעם נוספת.
תודה לכל ההדרכות המרתקות באינטרנט שנתנו לי כמה מפתחות להצליח בפרויקט הזה.