Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => Atmel => Konuyu başlatan: tekniker_murat - 14 Mayıs 2022, 02:11:29

Başlık: delay_ms(1000); yazıyorum 5 saniye bekleme yapıyor neden
Gönderen: tekniker_murat - 14 Mayıs 2022, 02:11:29
Herkese selamun aleyküm değerli ustalarım.

MikroC kullanarak atmega328P ye biraz gireyim istedim ama isiste de board üzerindeki devrede de aynı sorunla karşılaştım.

Yazdığım program aynen böyle :

void main() {
ddrb        =   255;
portb.f0     =   0;

while(1){

portb.f0     =   1;
delay_ms(1000);
portb.f0     =   0;
delay_ms(1000);

}
}

4 MHZ lik rezenatör bağladım edit project de de ayar olarak 4 mhz olarak ayarladım. Bu sorunla neden karşılaşıyorum acaba ?

(https://i.hizliresim.com/7jdhynt.jpg) (https://www.hizliresim.com/7jdhynt)
Başlık: Ynt: delay_ms(1000); yazıyorum 5 saniye bekleme yapıyor neden
Gönderen: tekniker_murat - 14 Mayıs 2022, 04:40:48
Şu ana kadar çözdüğüm bir kaç şey oldu :

1. MikroC programı config ayarlarını koda çevirmiyor yükleyici yazılımdan elle manuel olarak yapmak gerekiyor ki bu da datasheet okumak gerektiriyor.

Örnek : CKSEL3..1 registerleri  Full Swing Crystal Oscillator modunda 011 olarak ayarlaması gerekiyor ama ürettiği kodda default  ayarları ile kalıyor.

Ben programlayıcı olarak TL866 II plus kullanıyorum lakin çözemediğim konu sorun mikroC de mi yoksa xgecu programında mı ? bunun için de farklı bir çalışma daha yapacağım inşallah çözüm bulursam onu da burada yazmayı düşünüyorum.
Başlık: Ynt: delay_ms(1000); yazıyorum 5 saniye bekleme yapıyor neden
Gönderen: muhittin_kaplan - 14 Mayıs 2022, 09:56:21
Bu tür hataların genel sebebi
Xtall yanlıştır, Xtall Config yanlıştır yada varsa PLL hatalı config edilmiştir.
Başlık: Ynt: delay_ms(1000); yazıyorum 5 saniye bekleme yapıyor neden
Gönderen: Kabil ATICI - 14 Mayıs 2022, 11:05:45
Atmel işlemciler ile yaptığım uygulamalar da her zaman bit ayarları programdan (derlenen) ayrı olarak, yaptım. (Atmel AVR studio) Belki otomatik vardı da ben görmedim. Atmel programlayıcı ile kullandığın zaman bit ayarları daha kullanıcı dostu olarak çalışıyordu. Şu bit, bu bit olarak programlanmıyor.

Yeni uygulamalarda otomatik bit ayarları getirilmiş olabilir, bu konuda bir deneyimim olmadı.

Bu işlemcide pll mevcut değil. (varsa da kullanıcıya açık değil.)
Başlık: Ynt: delay_ms(1000); yazıyorum 5 saniye bekleme yapıyor neden
Gönderen: ilyas KAYA - 14 Mayıs 2022, 11:08:26
Bootloader varsa bootloaderdan 4mhz olarak ayarlayıp önce bootloaderi upload edin. Bootloader ile birlikte osilator ve diğer sigorta ayarları da yükleniyor.
Başlık: Ynt: delay_ms(1000); yazıyorum 5 saniye bekleme yapıyor neden
Gönderen: veliusta - 16 Mayıs 2022, 17:55:49
Sigorta ayarlarını kendine göre ayarla ve yükle. Sorun düzelecektik.
Bu siteden yardım alabilirsin. https://eleccelerator.com/fusecalc/fusecalc.php?chip=atmega328p
Başlık: Ynt: delay_ms(1000); yazıyorum 5 saniye bekleme yapıyor neden
Gönderen: mehmet - 16 Mayıs 2022, 18:55:22
Genelde ön tanımlı olarak 1/8 osilatör
oranı ile geliyor.