Talaan ng mga Nilalaman:

Paano Huwag paganahin ang JTAG Bago Bootloading Atmegas 40DIP Sa Arduino IDE Mightycore: 4 na Hakbang
Paano Huwag paganahin ang JTAG Bago Bootloading Atmegas 40DIP Sa Arduino IDE Mightycore: 4 na Hakbang

Video: Paano Huwag paganahin ang JTAG Bago Bootloading Atmegas 40DIP Sa Arduino IDE Mightycore: 4 na Hakbang

Video: Paano Huwag paganahin ang JTAG Bago Bootloading Atmegas 40DIP Sa Arduino IDE Mightycore: 4 na Hakbang
Video: Unlocktool Installation and activation 2024, Hulyo
Anonim
Paano Huwag paganahin ang JTAG Bago Bootloading Atmegas 40DIP Sa Arduino IDE Mightycore
Paano Huwag paganahin ang JTAG Bago Bootloading Atmegas 40DIP Sa Arduino IDE Mightycore

Kamakailan lamang ay gumamit ako ng atmegas 40 DIP upang makontrol ang mga pang-industriya na sistema dahil ang ganitong uri ng microcontroller ay nagbibigay ng maraming analog o digital I / O kaya hindi mo na kailangan ng anumang mga nagpapalawak.

Ang atmegas32 / 644p / 1284p ay nagsasama ng isang paraan upang i-download ang sketch na iyong nilikha na tinatawag na "JTAG" (tingnan ang

en.wikipedia.org/wiki/JTAG para sa higit pang mga paliwanag). Kung gumagamit ka ng Arduino IDE o LDmicro (IEC 61-131) ang mga sketch ay nai-download ng SPI port at ang mga pin ng JTAG (4 na pin: PC2 (D18) PC3 (D19) PC4 (D20) PC5 (D21) ay hindi magagamit para sa anumang bagay Kaya kailangan mong huwag paganahin ang JTAG sa iyong programa.

Sa arduino IDE kailangan mo lamang magdagdag ng 3 mga linya ng code sa seksyon ng pag-setup tulad nito:

uint8_t tmp = 1 << JTD;

MCUCR = tmp;

MCUCR = tmp;

Ang dalawang beses na paraan ng linya ng MCUCR.

Sa LDmicro wala akong magawa upang gumawa ng kahit ano.

Upang maiwasan ang mga problemang ito, nag-bootload ako matapos iparehistro ng MCUCR ang pagmamanipula ng aking atmegas sa Arduino IDE sa ilalim ng Mightycore. Isang paraan upang masunog ang mga piyus na may hindi pinagana ang JTAG.

Hakbang 1: Ang Pagkalkula ng Fuse ng Iyong 40DIP Circuit:

Ang Pagkalkula ng Fuse ng Iyong 40DIP Circuit
Ang Pagkalkula ng Fuse ng Iyong 40DIP Circuit
Ang Pagkalkula ng Fuse ng Iyong 40DIP Circuit
Ang Pagkalkula ng Fuse ng Iyong 40DIP Circuit
Ang Pagkalkula ng Fuse ng Iyong 40DIP Circuit
Ang Pagkalkula ng Fuse ng Iyong 40DIP Circuit

Pumunta sa web site:

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

Piliin ang magandang circuit (atmega1284p sa aking halimbawa ngunit sa parehong paraan sa iba pang 40 DIP atmegas) at tingnan ang "U hfuse: w: 0x99: m" at alisan ng check ang JTAGEN kaya nagbibigay ito ng "U hfuse: w: 0xD9: m". Isaisip ang halagang 0xD9.

Hakbang 2: Naghahanap ng File ng Boards.txt sa Mightycore Directory:

Naghahanap ng File ng Boards.txt sa Mightycore Directory
Naghahanap ng File ng Boards.txt sa Mightycore Directory
Naghahanap ng File ng Boards.txt sa Mightycore Directory
Naghahanap ng File ng Boards.txt sa Mightycore Directory

Sa iyong paghahanap sa PC ang direktoryo ng Mightycore. Para sa akin sa C: / user / akong sarili / AppData / Local / Arduino15 / packages / Mightycore / Harware / avr / 2.0.0 / boards.txt.

Hakbang 3: Baguhin ang Boards.txt at Bootload Sa Mightycore:

Baguhin ang Boards.txt at Bootload Sa Mightycore
Baguhin ang Boards.txt at Bootload Sa Mightycore

Tumingin sa Clock frequency block ng atmega1284p gamit ang Notepad ++.

Baguhin ang bawat mataas na piyus tulad ng "1284.menu.clock.16MHz_external.bootloader.high_fuses = 0xd6" sa "1284.menu.clock.16MHz_external.bootloader.high_fuses = 0xd9" (0xd9 ang dating halaga na dapat mong tandaan). I-save ito.

Pagkatapos ay kailangan mo lamang sundin ang paraan ng bootloading na ibinigay sa

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

Ayan yun.

Hakbang 4: Konklusyon:

Ngayon kumita ka ng 4 na I / O at hindi mo kailangang gumawa ng anumang pagmamanipula ng rehistro sa iyong mga sketch. Maaari ka ring bumalik at paganahin ang JTAGEN at muling muling pag-load muli.

Salamat sa lahat ng mga nakagaganyak na mga tutorial sa web na nagbigay sa akin ng ilang mga susi upang magtagumpay sa proyektong ito.

Inirerekumendang: