xxxx
Alıntı yapılan: alfurkan1064 - 07 Ekim 2022, 16:48:14Cümleten Selamun Aleyküm,
Bu şekilde bir menü yapım var bu 1 2 3 4 diye aynı sistemde ilerliyor bu sistemi daha profesyonel şekilde yapmak için nasıl bir profil çizmem gerekiyor ?.
while(mod==2)
{
write7219(1,0x67);write7219(2,0x7E);write7219(3,0X7E);write7219(4,0X6D);
if(input(TRESET)==0){delay_ms(350);giris=1;}
//if(input(BASLAT)==0){delay_ms(85);giris=1;}
while(giris==1 && mod==2)
{
decode7219(0XFF);
menu_goster(pausemod);
if(input(UD3) == 0){pausemod=0; if(pausemod <= 0) pausemod = 0; delay_ms(18);}
if(input(UD4) == 0){pausemod=1; if(pausemod > 1) pausemod = 1; delay_ms(18);}
if(input(TRESET)==0){copy_to_eeprom(pausemod,24,23);delay_ms(100);mod=0;giris=0;}
}
if(input(UD4) == 0)
{delay_ms(350);mod=3;}
if(input(UD3) == 0)
{delay_ms(350);mod=1;}
}
Hocam önce kodu düzenlerseniz çok iyi olur. Bu haliyle pek ciddiye alınacağınızı düşünmüyorum.
Amme hizmeti:while(mod==2)
{
write7219(1,0x67);
write7219(2,0x7E);
write7219(3,0X7E);
write7219(4,0X6D);
if(input(TRESET)==0)
{
delay_ms(350);
giris=1;
}
//if(input(BASLAT)==0)
//{
// delay_ms(85);
// giris=1;
//}
while(giris==1 && mod==2)
{
decode7219(0XFF);
menu_goster(pausemod);
if(input(UD3) == 0)
{
pausemod=0;
if(pausemod <= 0)
pausemod = 0;
delay_ms(18);
}
if(input(UD4) == 0)
{
pausemod=1;
if(pausemod > 1)
pausemod = 1;
delay_ms(18);
}
if(input(TRESET)==0)
{
copy_to_eeprom(pausemod,24,23);
delay_ms(100);
mod=0;
giris=0;
}
}
if(input(UD4) == 0)
{
delay_ms(350);
mod=3;
}
if(input(UD3) == 0)
{
delay_ms(350);
mod=1;
}
}
Fikrinize katılmamakla birlikte değerli yorumunuz için teşekkür ederim,bu haliyle daha okunaklı ve düzenli.
Hatta
if(a == 1) b = 0;
gibi olanları,
if(a == 1)
{
b = 0;
}
olarak da düzeltmeli...
O hata değildir. Noktalı virgül çözüyor olayı.
if(a == 1)
b = 0;
bile geçerlidir . Tek ifade olduğu için
Alıntı yapılan: mehmet - 07 Ekim 2022, 21:31:22Hatta
if(a == 1) b = 0;
gibi olanları,
if(a == 1)
{
b = 0;
}
olarak da düzeltmeli...
Misra kurallarından biridir bu. Birde her if koşuluna bir else yazılmalı boş olsa bile.
Tuş ile ilerlenen menülerde bir harita oluşturuyorum.
İhtiyacım olan adımları belirliyorum. Ana ve alt menüler için mod numaraları tanımıyorum.
Örneğin 10,20.30... ana menü numaraları olurken. 11,12,13 alt menüler oluyor. Hangi tuşun hangi modda ne iş yapacağını tanımıyorum.
Kesme ile okunmuyor ise, ana döngüde tuşları takip eden basit bir fonksiyonun olmalı. Tuş algıladığı da o tuşla ilgili (Yukarıda bahsettiğim ) fonksiyon çağırılmalı. İşin hikaye kısmı bende böyle.
Konu gereksiz yerlere gelmiş kapatılıp silinebilir.
Üslüp hoş olmamış. İşiniz bitti diye ek olarak yazılan bilgiler böyle
çöpe atılır gibi atılmaz. Katkıda bulunmayacaksanız siz kapatıp gidebilirsiniz.
Forumlar sorunların çözümlenmesinden sonra silinmesi prensibiyle işlemediğinden elbette konu, uç bir durum yoksa yerinde kalır, ileride benzer sorunu olan birisi gelir bulursa ona da fayda sağlar.
Konu içeriğini bilmediğinizden dolayı bu şekilde konuşmanız çok doğal yazan kişiler sorun odaklı değilde yazılan koddaki stili tartışıp fikir
yürütmek istediği için konunun silinmesini talep ettim düşündüğünüz gibi çözüm oluşup konuyu kapatmadım dikkatlı okumanızı tavsiye ederim.
İlk mesajı silmişsiniz ama.
İçinde doğup büyüdüğünüz toplumu tanıyamadınız mı hala :) hdd bozuldu ne yapayım diyene konfigürasyonunu sorup ekran kartın eski model değiştir daha iyi diyen insanların diyarı burası. Öyle değişik cevapları görünce hemen sil gitsin yok o kısım da bonus artık.