İçindekiler:

Arduino IDE Mightycore ile Atmegas 40DIP Yüklemeden Önce JTAG Nasıl Devre Dışı Bırakılır: 4 Adım
Arduino IDE Mightycore ile Atmegas 40DIP Yüklemeden Önce JTAG Nasıl Devre Dışı Bırakılır: 4 Adım

Video: Arduino IDE Mightycore ile Atmegas 40DIP Yüklemeden Önce JTAG Nasıl Devre Dışı Bırakılır: 4 Adım

Video: Arduino IDE Mightycore ile Atmegas 40DIP Yüklemeden Önce JTAG Nasıl Devre Dışı Bırakılır: 4 Adım
Video: AVR Hardware Coding Part 1: IDE Installation 2024, Temmuz
Anonim
Arduino IDE Mightycore ile Atmegas 40DIP'i Önyüklemeden Önce JTAG Nasıl Devre Dışı Bırakılır
Arduino IDE Mightycore ile Atmegas 40DIP'i Önyüklemeden Önce JTAG Nasıl Devre Dışı Bırakılır

Son zamanlarda endüstriyel sistemleri kontrol etmek için atmegas 40 DIP kullanmam gerekti çünkü bu tür mikrodenetleyici birçok analog veya dijital I/O sağlıyor, böylece herhangi bir genişleticiye ihtiyacınız yok.

atmegas32/644p/1284p, oluşturduğunuz "JTAG" adı verilen çizimi indirmenin bir yolunu içerir (bkz.

en.wikipedia.org/wiki/JTAG daha fazla açıklama için). Arduino IDE veya LDmicro (IEC 61-131) kullanıyorsanız, çizimler SPI portu tarafından indirilir ve JTAG pinleri (4 pin: PC2(D18) PC3(D19) PC4(D20) PC5(D21) hiçbir şey için kullanılamaz. Yani programınızda JTAG'ı devre dışı bırakmalısınız.

Arduino IDE ile kurulum bölümüne aşağıdaki gibi 3 satır kod eklemeniz yeterlidir:

uint8_t tmp = 1<< JTD;

MCUCR = tmp;

MCUCR = tmp;

İki kez MCUCR çizgi yöntemi.

LDmicro ile hiçbir şey yapamadım.

Bu sorunlardan kaçınmak için, MCUCR kayıt manipülasyonundan sonra atmegas'ımı Mightycore altında Arduino IDE ile başlattım. JTAG devre dışıyken sigortaları yakmanın bir yolu.

Adım 1: 40DIP Devrenizin Sigorta Hesabı:

40DIP Devrenizin Sigorta Hesabı
40DIP Devrenizin Sigorta Hesabı
40DIP Devrenizin Sigorta Hesabı
40DIP Devrenizin Sigorta Hesabı
40DIP Devrenizin Sigorta Hesabı
40DIP Devrenizin Sigorta Hesabı

Web sitesine gidin:

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

İyi devreyi seçin (benim örneğimde atmega1284p ama diğer 40 DIP atmegas ile aynı şekilde) ve "U hfuse:w:0x99:m"ye bakın ve JTAGEN'in işaretini kaldırın, böylece "U hfuse:w:0xD9:m" verir. 0xD9 değerini aklınızda tutun.

Adım 2: Mightycore Dizininde Boards.txt Dosyasını Arama:

Mightycore Dizininde Boards.txt Dosyasını Arama
Mightycore Dizininde Boards.txt Dosyasını Arama
Mightycore Dizininde Boards.txt Dosyasını Aramak
Mightycore Dizininde Boards.txt Dosyasını Aramak

Bilgisayarınızda Mightycore dizinini arayın. Benim için C:\user\myself\AppData\Local\Arduino15\packages\Mightycore\Harware\avr\2.0.0\boards.txt içinde.

Adım 3: Boards.txt ve Bootload'u Mightycore ile değiştirin:

Boards.txt ve Bootload'u Mightycore ile değiştirin
Boards.txt ve Bootload'u Mightycore ile değiştirin

Notepad++ ile atmega1284p'nin Saat frekans bloğuna bir göz atın.

Her bir yüksek sigortayı "1284.menu.clock.16MHz_external.bootloader.high_fuses=0xd6" ile "1284.menu.clock.16MHz_external.bootloader.high_fuses=0xd9" (0xd9 hatırlamanız gereken önceki değer) gibi değiştirin. Kaydedin.

O zaman sadece verilen önyükleme yöntemini izlemeniz gerekir.

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

Bu kadar.

4. Adım: Sonuç:

Artık 4 I/O kazanıyorsunuz ve eskizlerinizde herhangi bir register manipülasyonu yapmanız gerekmiyor. Ayrıca geri dönüp JTAGEN'i etkinleştirebilir ve bir kez daha yeniden yükleyebilirsiniz.

Bana bu projede başarılı olmam için bazı anahtarlar veren web'deki tüm ilginç eğitimler sayesinde.

Önerilen: