سلام به همه اساتید محترم
من کد زیر رو نوشتم و می خوام مقدار 2 تا adc و 4 تا کلید رو داخل یک متغیر c ذخیره کنم.
همه جاش کار می کنه به جز اظافه کردن 4 مقدار آخر به مقدار نهایی که c هستش و داخل if قرار دادم.
هم یک با از متغیر که x تعزیف کردم و داخل ifها مقدارش رو تغیین کردم بعد به c اظافه کردم هم مستقیم مقدار مورد نظرم رو به c اظافه کردم ولی هیچ اتفاقی نیفتاد.
کسی میتونه کمکم کنه بگه مشکل از کجاست ؟؟؟
ممنون از همه
while (1)
{
int a,b,c,x;
char buffer[16];
a = read_adc(0);
b = read_adc(1);
a = a/4;
b = b/4;
c = ( a << 6 ) + b;
c = ( c << 4 );
x = 0;
if (PORTD.0 == 1) // Right
{
c = c + 1;
// x = x + 1;
}
if (PORTD.1 == 1) // Left
{
c = c + 2;
// x = x + 2;
}
if (PORTD.2 == 1) // Flasher
{
c = c + 4;
// x = x + 4;
}
if (PORTD.3 == 1) // All Lights
{
c = c + 8;
// x = x + 8;
}
// c = c + x;
lcd_clear();
lcd_gotoxy(0,0);
sprintf(buffer,"ADC=%d",c);
lcd_puts(buffer);
delay_ms(50);
}
من کد زیر رو نوشتم و می خوام مقدار 2 تا adc و 4 تا کلید رو داخل یک متغیر c ذخیره کنم.
همه جاش کار می کنه به جز اظافه کردن 4 مقدار آخر به مقدار نهایی که c هستش و داخل if قرار دادم.
هم یک با از متغیر که x تعزیف کردم و داخل ifها مقدارش رو تغیین کردم بعد به c اظافه کردم هم مستقیم مقدار مورد نظرم رو به c اظافه کردم ولی هیچ اتفاقی نیفتاد.
کسی میتونه کمکم کنه بگه مشکل از کجاست ؟؟؟
ممنون از همه
while (1)
{
int a,b,c,x;
char buffer[16];
a = read_adc(0);
b = read_adc(1);
a = a/4;
b = b/4;
c = ( a << 6 ) + b;
c = ( c << 4 );
x = 0;
if (PORTD.0 == 1) // Right
{
c = c + 1;
// x = x + 1;
}
if (PORTD.1 == 1) // Left
{
c = c + 2;
// x = x + 2;
}
if (PORTD.2 == 1) // Flasher
{
c = c + 4;
// x = x + 4;
}
if (PORTD.3 == 1) // All Lights
{
c = c + 8;
// x = x + 8;
}
// c = c + x;
lcd_clear();
lcd_gotoxy(0,0);
sprintf(buffer,"ADC=%d",c);
lcd_puts(buffer);
delay_ms(50);
}
دیدگاه