Код: Выделить всё
int x;
int main()
while(1)
{
switch(x)
{
case0:...
case1:...
case2:...
}
x=x+1;
}
}
Код: Выделить всё
int x;
int main()
while(1)
{
switch(x)
{
case0:...
case1:...
case2:...
}
x=x+1;
}
}
king-live писал(а):Почему не работает код.
Код: Выделить всё
int x;
int main()
while(1)
{
switch(x)
.....Код: Выделить всё
int x;
int main()
{
while(1)
{
switch(x)
.....Код: Выделить всё
#include <avr/io.h>
#define F_CPU 4000000UL
#include <util/delay.h>
int a;
int b;
int c;
int d;
int x;
int main ()
{
a=1;
b=2;
c=3;
x=0;
while(1)
{
switch(x)
{
case 0:
break;
case 1:
{
d=a+b;
break;
}
case 2:
{
d=a+c; break;
}
case 3:
{
d=b+c; break;
}
case 4:
{
d=d+b; break;
}
case 5:
{
d=c+b; break;
}
}
x=x+1;
}
}
Код: Выделить всё
#include <avr/io.h>
#define F_CPU 4000000UL
#include <util/delay.h>
int a;
int b;
int c;
int d;
int x;
int main ()
{
DDRB=0xFF;
a=1;
b=2;
c=3;
x=0;
while(1)
{
switch(x)
{
case 0:
break;
case 1:
{
d=a; break;
}
case 2:
{
d=a+1; break;
}
case 3:
{
d=a+2; break;
}
case 4:
{
d=a+3; break;
}
case 5:
{
d=a+4; break;
}
}
x=x+1;
PORTB=d;
if (x==6)
x=0;
}
}
Если программировать "по большому" - это нормальное явление. Там и не такие фишки выползают. Поэтому и считаю, что если писать для МК на ЯВУ, то надо досконально знать особенности используемого компилятора...Да окозалось намного сложнее! Если что-то нигде не используется, то и компилятор это выкидывает "нафиг" - как и было сказанно. Умно устроенно.
А разве я не объявил переменную - глобальной (до функции). Я считал, что если переменная объявляется до какой нибудь функции, то внутри функции переменная считается глобальной. Или есть разница в том что, объявил до функции, а присвоил значение внутри функции, и после присвоения значения, переменная считается уже локальной.если вы сделаете переменные глобальными,
Или есть разница в том что, объявил до функции, а присвоил значение внутри функции, и после присвоения значения, переменная считается уже локальной.