Arkadaşlar merhaba , deneme kitinde ufak bir deneme yaptım yalnız buton olayında bir sıkıntı var var , ya buton iki kere basıyor yada basmıyor donanımsal bir problem olmadığını düşünüyorum kodlar aşağıda , birde kodları inceleyen arkadaşlar eleştiride bulunursa çok sevinirim.
define_lib.c
#define led_p100(x) ((x) ? (LPC_GPIO1->FIOSET |= (1<<0)) : (LPC_GPIO1->FIOCLR = (1<<0)));
#define led_p101(x) ((x) ? (LPC_GPIO1->FIOSET |= (1<<1)) : (LPC_GPIO1->FIOCLR = (1<<1)));
#define led_p104(x) ((x) ? (LPC_GPIO1->FIOSET |= (1<<4)) : (LPC_GPIO1->FIOCLR = (1<<4)));
#define ok_0 LPC_GPIO0->FIOPIN & 0x01<<4
#define eksi LPC_GPIO0->FIOPIN & 0x01<<5
#define arti LPC_GPIO0->FIOPIN & 0x01<<6
#define ok_sag LPC_GPIO0->FIOPIN & 0x01<<7
#define clr_sol LPC_GPIO0->FIOPIN & 0x01<<8
#define clr LPC_GPIO0->FIOPIN & 0x01<<9
int operator=0;
uint8_t* ope_isim="",say;
define_lib.h
void operator_sec(void)
{if ((ok_sag)) //butona basıldımı
{
while (!(ok_sag)); //butonu bırakana kadar kısır döngü kal
{
operator=operator+1;
if(operator==1){ope_isim = "xxxx";}
else if (operator==2){ope_isim = "yyyy";}
lcd_gotoxy(1,1);lcd_yaz("seciniz");
lcd_gotoxy(2,1);lcd_yaz(" ");
lcd_gotoxy(2,1);lcd_yaz(ope_isim);
}}
if ((clr_sol))
{while (!(clr_sol));
{operator=operator-1;
if(operator==1){ope_isim = "xxxx";}
else if(operator==2){ope_isim = "yyyy";}
lcd_gotoxy(1,1);lcd_yaz("seciniz");
lcd_gotoxy(2,1);lcd_yaz(" ");
lcd_gotoxy(2,1);lcd_yaz(ope_isim);
lcd_gotoxy(2,7);lcd_yaz(say);
}}}
Kullanıcı butonlara basarak seçenek kullanıcak o yüzden yukarıdaki gibi düz mantık kullandım ,keil de dizileri nasıl kullanabilirim mesala aşağıdaki gibi olabilirmi veya bu işin mantığı nedir.
string operator[3]="'x','y','z'";
Şimdiden teşekkür ederim.
{if ((ok_sag)) //butona basıldımı
{
while (!(ok_sag)); //butonu bırakana kadar kısır döngü kal
-Butona basıldığında True oluyorsa, butona basılı olduğu sürece True ile bekleme yapmak gerekir..Yani:
{if ((ok_sag)) //butona basıldımı
{
while ((ok_sag)); //butonu bırakana kadar kısır döngü kal
! işareti olmamalı.