Birkaç projemde atmega328p kullanıyorum. Yazılım kısmınıda arduino ide yazmıştım. Zaten arduino kullanmamın sebebi nadiren uğraştığım bu işlerde bana kolaylık sağlaması. Kodu yazıyorum, anında yüklüyorum, seriporttan bilgi alıyorum vs... sağlanan fayda kolaylık. Hata ayıklama kolay oluyor. Çok önceden pic programlamıştım. Pic için bir ide üzerinde kodu yaz, hex çevir, yükleyici programına veya isis e hexi göster yükle, test et, sorun varsa, bir kelime hatası yaptıysan baştan başla... bir sürü hikaye... Neyse Şu an pic ile ilgili birşey hatırlamıyorum desem yeridir. Dediğim gibi arduino bana kolaylık sağladığında arduino ve 328 ile projelerimi geliştirdim. Programlayıcı olarakta yine arduinonun kendisini kullanarak 328 leri icsp üzerinden kendin bordumun üzerinde programladım.
Görece olarak tek seferde yüksek adetlerde alım üretim yapıyorum. 328p yi en son yanlış hatırlarmıyorsam 15tl gibi bir fiyata almıştım. Şu an fiyatlar hali ile çok daha yüksek 40tl civarında. Daha ucuz aynı pin yapısına sahip başka bir mcu olurmu derken denemek için birkaçtane atmega48pa satın aldım. atmega48, 328 in 1/4 hafızasına sahip ama benim için uygun görünüyor.
Atmega48 i benim borda takıp normal 328 e program atıyormuş gibi bir denem yaptım. Sonuç başarısız oldu. Başıma gelecekleri az çok tahmin ettiğimden ayrıca iki adet ucuz usbisp programlayıcılardan aldım.
https://iarduino.ru/lib/1477308306-9509.zip
Program HID cihaz olarak tanınmış olan programlayıcı doğrudan görüyor. Resimde kırmızı çember içine aldığım alandaki logo programlayıcı takılı değil iken gri renk alıyor...
10 Pinli kablosu arduino bordları ile doğrudan uyumlu değil. bağlantıları tekrar düzenleyen bir aparata veya kabloya ihtiyaç var...
Bu aşamayı da geçtikten sonra arduino ide de yazdığım programının hex kodunu ProgISP programı yardımı ile 328p ye yüklemeyi başardım. Gayet hızlı ve sorunsuz bir yükleme oldu. Bu aşamada fark ettiğim başka bir sorun ise programının doğru saat hızında çalışmadığı oldu. Bu durumla karşılaşınca fuse ayarlarını yapmam gerektiğini biliyordum. Sorun ise nasıl olacağı idi...
Arduino IDE ile yazılan programların HEX dosyasını almak için derleme sonrasında temp klasörüne giderek orada oluşan HEX dosyasını almak gerekiyor.
Hex dosyası için : arduino ide hex dosyası - Google'da Ara
Fuse ayarlarını yapmanın en kolay yolu çalışan bir 328 i proramlayıcıya bağlayarak mevcut ayarları okudum. Sonrasında boş olan 328 e aynı ayarları yazdım.
Sonuç olarak benim esas amacım bu olmasa da usb isp programlayıcı ile atmega328 programlaya başararak bir aşama kaydettim. Biraz daha uğraşacağım şeyler var. İlerleme sağladıkça konuya devam ederim.
Merhaba, Sertac Bey forumdaki imzanızdan gorup geldim sitenize onceliklle tesekkur ederim kaynak olusturdugunuz icin :) bundan ben yaklasik 3 sene once almistim fw yukseltmek/yazmak zorunda kalmistim gelen isp programlayıcıya siz direkt calistirabilmissiniz sanirim
YanıtlaSilFw update öncesi de çalıştırabildim ancak sadece Progisp programı ile... Avrdudes ve Arduino Ide için fw update şart...
Sil