CCS C Dersleri - Bölüm 2
📌 Koşul Yapıları ve Döngüler
CCS C’de koşullu ifadeler (if, switch-case
) ve döngüler (while, for
) program akışını kontrol etmek için kullanılır. Mikrodenetleyici ile karar verme ve tekrar eden işlemleri yönetme açısından kritik öneme sahiptir.
📌 2.1. if-else Yapısı
if-else
, belirli bir koşulun doğru olup olmadığını kontrol eder.
🔹 Buton Basıldı mı Kontrol Etme
void main() {
set_tris_a(0xFF); // PORTA giriş olarak ayarlandı
set_tris_b(0x00); // PORTB çıkış olarak ayarlandı
while(TRUE) {
if(input(PIN_A0)) { // Eğer A0 butonu basıldıysa
output_high(PIN_B0); // LED’i yak
} else {
output_low(PIN_B0); // LED’i söndür
}
}
}
📌 2.2. switch-case Yapısı
switch-case
, bir değişkenin farklı değerlerini kontrol etmek için kullanılır. Özellikle menüler, çoklu buton kontrolleri için idealdir.
🔹 Butona Göre Farklı LED Yakma
void main() {
int buton_durum;
set_tris_a(0xFF);
set_tris_b(0x00);
while(TRUE) {
buton_durum = input(PIN_A0) + (input(PIN_A1) * 2);
switch(buton_durum) {
case 0:
output_low(PIN_B0);
output_low(PIN_B1);
break;
case 1:
output_high(PIN_B0); // Buton A0 basıldıysa LED1 yanar
break;
case 2:
output_high(PIN_B1); // Buton A1 basıldıysa LED2 yanar
break;
case 3:
output_high(PIN_B0);
output_high(PIN_B1); // İkisi de basıldıysa her iki LED yanar
break;
}
}
}
📌 2.3. while Döngüsü
while
döngüsü, belirli bir koşul sağlandığı sürece kodu tekrar çalıştırır.
🔹 1’den 10’a Kadar Saydırma
void main() {
int sayi = 1;
while(sayi <= 10) {
printf("Sayi: %d\n", sayi);
sayi++;
delay_ms(500);
}
}
📌 2.4. for Döngüsü
for
döngüsü, belirli bir sayıda tekrar eden işlemler için idealdir.
🔹 LED’i 5 Kere Yakıp Söndürme
void main() {
set_tris_b(0x00);
for(int i = 0; i < 5; i++) {
output_high(PIN_B0);
delay_ms(500);
output_low(PIN_B0);
delay_ms(500);
}
}
0 Yorumlar