سلام
من به adc راه انداختم عدد رو lcd میگه اما میخوام عدد که از یه مقداری کمتر شد led روشن شه حلقه if رو میزنم اما تو شرطش میگه نمیتونه unsigned char رو به int تبدیل کنه .. چجوری میشه این کارو کرد؟
من به adc راه انداختم عدد رو lcd میگه اما میخوام عدد که از یه مقداری کمتر شد led روشن شه حلقه if رو میزنم اما تو شرطش میگه نمیتونه unsigned char رو به int تبدیل کنه .. چجوری میشه این کارو کرد؟
int main(void)
{
unsigned int s;
unsigned char p[100];
SCS |= 1;
FIO0DIR0=0XFF;
FIO0DIR1=0XFF;
FIO0DIR2=0X00;
FIO0DIR3=0X00;
lcd_init();
lcd_clr();
while(1)
{
s=read_adc(3);
sprintf(p,"light= %d",s);
lcd_putsf(p);
delay_ms(1000);
lcd_clr();
if(p < 200)
{
FIO0SET0 = (1<<15);
FIO0SET0 = (1<<16); //led on
}
else
{
FIO0CLR0= (1<<15); //led off
FIO0CLR0= (1<<16);
}
};
}
اینم برنامم
{
unsigned int s;
unsigned char p[100];
SCS |= 1;
FIO0DIR0=0XFF;
FIO0DIR1=0XFF;
FIO0DIR2=0X00;
FIO0DIR3=0X00;
lcd_init();
lcd_clr();
while(1)
{
s=read_adc(3);
sprintf(p,"light= %d",s);
lcd_putsf(p);
delay_ms(1000);
lcd_clr();
if(p < 200)
{
FIO0SET0 = (1<<15);
FIO0SET0 = (1<<16); //led on
}
else
{
FIO0CLR0= (1<<15); //led off
FIO0CLR0= (1<<16);
}
};
}
دیدگاه