Atmega328p program yazma

Başlatan pwr_24, 18 Mayıs 2019, 23:52:54

pwr_24

Arkadaşlar herkese merhaba.2 adet sorum olacaktı.
1- Arduino uno kartının üzerindeki atmega328p mcu suna avr ile program yazıp yuklesek sorun olurmu. Yada arduino bootloader i silip normal avr mcu gibi kullanilirmi?
2- Timer kullanırken internal veya external osc nasıl ayarlanıyor.

Şimdiden teşekkürler.

volkanunal

1-Evet , bootloader silip harici bir programlayıcı ile yükleme yapabilirsiniz. İsterseniz Arduino IDEsinde C ile de yazabilirsiniz programınızı , harici bir programlayıcı ihtiyaç duymadan yükleme yapabilirsiniz. Ancak bazı kısıtlamalar olabiliyor , örneğin millis() , delay() gibi fonksiyonlarda Timer birimini kullandıkları için , register ayarlamaları yaptıktan sonra ide hata verebiliyor.

2-Timer yapılandırmasında ki formülleri incelerseniz , CPU_Freq diye bir ifade var. Bu işlemciniz için frekans değerini temsil ediyor. Harici ya da dahili olarak frekans değerinizi sigorta ayarlarından yapılandırabiliyorsunuz. Arduino uno kartında 16mhz kristal mevcut , ancak sigorta ayarlarınızı yaptıktan sonra dahili kristali kullanabilirsiniz. Fakat bu durumda Arduino kütüphanelerini kullanacaksanız sapıtabilir , çünkü genelde 16mhz referans alınarak yazılmış.
Primum nil nocere

Kabil ATICI

Timer "TCCRxB – Timer/Counter Control Register B" ile kontrol edilmekte.
CSx0,CSx1,CSx2 bitleri kontrolu ile iç saat kaynakları (iç bölücüler) harici saat girişi olarak seçilebilmektedir. Hatta harici kaynağın düşen veya yükselen kenarda tetiklenmesi seçilebilmektedir.
 
Not:buradaki x timer register numarasıdır.
ambar7

pwr_24

Alıntı yapılan: volkanunal - 19 Mayıs 2019, 00:10:571-Evet , bootloader silip harici bir programlayıcı ile yükleme yapabilirsiniz. İsterseniz Arduino IDEsinde C ile de yazabilirsiniz programınızı , harici bir programlayıcı ihtiyaç duymadan yükleme yapabilirsiniz. Ancak bazı kısıtlamalar olabiliyor , örneğin millis() , delay() gibi fonksiyonlarda Timer birimini kullandıkları için , register ayarlamaları yaptıktan sonra ide hata verebiliyor.

2-Timer yapılandırmasında ki formülleri incelerseniz , CPU_Freq diye bir ifade var. Bu işlemciniz için frekans değerini temsil ediyor. Harici ya da dahili olarak frekans değerinizi sigorta ayarlarından yapılandırabiliyorsunuz. Arduino uno kartında 16mhz kristal mevcut , ancak sigorta ayarlarınızı yaptıktan sonra dahili kristali kullanabilirsiniz. Fakat bu durumda Arduino kütüphanelerini kullanacaksanız sapıtabilir , çünkü genelde 16mhz referans alınarak yazılmış.

Yanıtlar için teşekkürler. Ben eclipse ile derliyorum programları. Arduino kulanmadım kullanmamda. Eclipse daha program yazılmadan osc frekansını istiyor.O yüzden F_CPU komutu yok.
 Anladığım kadarıyla flash'a yazarken external yada internal seçiliyor. Atmel konusunda yerli kaynak çok az nette yabancı kaynaklar üzerinden gidiyorum ben. Teşekkürler

Tagli

AVR'leri artık MPLAB X ile de programlayabilirsin. Ancak desteklediği programlayıcı cihaz sayısı az, .hex kodunu IDE dışında bir yöntemle cihaza atman gerekebilir.
Gökçe Tağlıoğlu

pwr_24

#5
Alıntı yapılan: Tagli - 19 Mayıs 2019, 10:02:19AVR'leri artık MPLAB X ile de programlayabilirsin. Ancak desteklediği programlayıcı cihaz sayısı az, .hex kodunu IDE dışında bir yöntemle cihaza atman gerekebilir.
Evet bende youtube'dan baktım ilgili videolara ama yeterince cevap vermiyor  mplab. ATMEL, eclipse ve codeblocks şuanlık iyi gibi.