Talaan ng mga Nilalaman:
2025 May -akda: John Day | [email protected]. Huling binago: 2025-01-13 06:58
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:
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:
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:
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.