Merhaba arkadaşlar, MicroC dili ile display ekrana MicroC ve PIC 18F4550 kitabındaki kod ile 1 den 9a kadar saydırabiliyorum sorunsuz çalışıyor fakat kodda kafama takılan bir yer var.Öncelikle displayde 1 den 9a kadar rakamları oluşturacak şekilde port değerlerini bir dizi haline getirdik, sonra ise sayma işlemini gerçekleştirmesi için döngüde kullanacağımız değeri 0 olan sayac değişkeni tanımladık buraya kadarını anlayabiliyorum fakat anlamadığım kısım portb'ye display_dizi adlı diziden sayac++'ıncı elemanı atıyor olmamız.Dizilerde bildiğim kadarıyla ilk elemanı çekmek için 0'dan başlamamız gerekiyor fakat burada sayac++ kodu ile sayacın 0 olan değerini 1 arttırıp portb'ye display dizideki 1 numaralı elemanı yani ikinci elemanı atamış olmuyor muyuz?Devre sorunsuz çalışıyor fakat bende yanlış düşündüğüm noktayı anlayabilmiş değilim yardımcı olabilirseniz sevinirim şimdiden teşekkürler.
void main() {
int display_dizi[10] = {0x3F,0x06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X67};
int sayac=0;
trisb = 0x00;
portb = 0x00;
while(1){
while(sayac<10) {
portb = display_dizi[sayac++];
}
sayac=0;
}
}
Alıntı yapılan: gerbay - 19 Şubat 2013, 08:23:04
sayac++ yaptığınız zaman önce sayac değerini kullanır sonra bir artırır, yani şunun kapalı şekli gibi;
portb = display_dizi[sayac];
sayac++;
tamamdır hocam şimdi anladım çok teşekkürler.