Picproje Elektronik Sitesi

DERLEYİCİLER => CCS C => Konuyu başlatan: ibram_e - 04 Ocak 2021, 13:54:27

Başlık: if komutu mu case komutu mu
Gönderen: ibram_e - 04 Ocak 2021, 13:54:27
iyi günler
çok basit bir soru olucak ama bu 2 komutta çalışmadı.

1 ====void main()
{
set_tris_a(0xFF);// a portunu giriş olarak ayarlar
Output_a(0x00);//A portunun girişlerini 0 yapar
set_tris_b(0xFF);// a portunu giriş olarak ayarlar
Output_b(0x00);//A portunun girişlerini 0 yapar
set_tris_c(0x00);// a portunu giriş olarak ayarlar
Output_c(0x00);//A portunun girişlerini 0 yapar
set_tris_d(0x00);// a portunu giriş olarak ayarlar
Output_d(0x00);//A portunun girişlerini 0 yapar


while(1) //sonsuz döngü başlat
{
int g;  //g adında bir değişken ata
g==input_b(); //g değişkeninin değerini b portunun girişindeki sayı yap
if(g==0x00); // g sayısı 00000000 ise
(
output_c(0x49),output_d(0x02);  //c portunun çıkışını 01001001 yap (sadece c0 high),d portunun çıkışını 00000010 yap
)
else if (g==0x01); // b portunun girişi 00000001 ise
(
output_c(0x4A),output_d(0x02); //c portunun çıkışını 01001010 yap(sadece c1 high),d portunun çıkışını 00000010 yap
)
else if (g=0x02); // b portu girişi 00000010
(
output_c(0x4C),output_d(0x02); //c portunun çıkışını 01001100 yap(sadece c1 high),d portunun çıkışını 00000010 yap
)

2====void main()
{
set_tris_a(0xFF);// a portunu giriş olarak ayarlar
Output_a(0x00);//A portunun girişlerini 0 yapar
set_tris_b(0xFF);// a portunu giriş olarak ayarlar
Output_b(0x00);//A portunun girişlerini 0 yapar
set_tris_c(0x00);// a portunu giriş olarak ayarlar
Output_c(0x00);//A portunun girişlerini 0 yapar
set_tris_d(0x00);// a portunu giriş olarak ayarlar
Output_d(0x00);//A portunun girişlerini 0 yapar


while(1) //sonsuz döngü başlat
{
int g;  //g adında bir değişken ata
g==input_b(); //g değişkeninin değerini b portunun girişindeki sayı yap
Switch(g) // g sayısı göre işlemlerden seç
Case g==01; //b port girişi 00000001 ise (sadece b0 high)
output_c(0x49),output_d(0x02)  //c portunun çıkışını 01001001 yap (sadece c0 high),d portunun çıkışını 00000010 yap
case 2; // b portunun girişi 00000010 ise (sadece b1 high)
output_c(0x4A),output_d(0x02) //c portunun çıkışını 01001010 yap(sadece c1 high),d portunun çıkışını 00000010 yap
case 3; // b portu girişi 00000100 (sadece b2 gigh)
output_c(0x4C),output_d(0x02) //c portunun çıkışını 01001100 yap(sadece c1 high),d portunun çıkışını 00000010 yap
}
Başlık: Ynt: if komutu mu case komutu mu
Gönderen: Mucit23 - 04 Ocak 2021, 14:41:46
Biraz C'de Syntax çalışmalısınız

if komutu kullanıldığı zaman parantez açılırken normal '( )' parantez yerine süslü parantez '{ }' kullanmalısınız

if(g==0x01)
{
.
.
.
}
else
{
.
.
.
}

gibi

Switch'de de aynı şekilde parantez kullanmalısınız

switch(g)
{
   case 0x01:
     .
     .
     break;
   case 0x02:
     .
     .
     break;
}

Şeklinde olacak. Biraz Temel C yazım kurallarına bakınız.
Başlık: Ynt: if komutu mu case komutu mu
Gönderen: sifirzero - 04 Ocak 2021, 15:39:35
Arkadaş yapmak istedigi yapmiş 😁 bende 1 ay led yakmak icin ugraşmistim. C syntax bilmke çok önemli. Orada bir g harfi gördüm
işkence cekmiş sanki. Kardesim.

https://www.sifirzero.com/?m=0 (https://www.sifirzero.com/?m=0)

Bu web sitesinde çok fazla örnekler var. Bakabilirsin. Takildigin yerde soru sorabilirsin.
Başlık: Ynt: if komutu mu case komutu mu
Gönderen: ibram_e - 05 Ocak 2021, 12:25:13
cevaplarınız için teşekkürler