А так не хватает вот тут, объявления SleepTime
int main()
{
unsigned long SleepTime=100; //Хотя бь со 100мс начать.
...
...
Что _BV делает?
ps.
ммм, SleepTime объявлен локально, не сразу заметил, в блоке цикла for, за его пределами, после :
}
{label1:
эта переменная уже не определена.
Объявление в цикле for удалить, и добавить в начало программы, куда я указал.
quote:
Originally posted by rk:
Что _BV делает?
#define bit_set(var,bitno) ((var) | = 1 << (bitno))
#define OUT_PORT PORTB
void main(void)
{
unsigned int S=0;
INIT();
while (1)
{
OUT_PORT=0;
bit_set(OUT_PORT,S);
S++;
if (S>7) S=0;
}
}
quote:
Originally posted by Aleksey_N:
OUT_PORT=0;
там накладывается в bit_set.quote:
увидел там накладывается в bit_set.

quote:
if (PINB & _BV(PB1)) goto label1;else PORTB | = _BV(PB0);
это вот не красиво
если уже так хочется "связываться" с IF
то тогда уж так сделайте
if (PINB & _BV(PB1))
{
PORTB &= ~_BV(PB0);
SleepTime = SleepTime*5;
}
else PORTB | = _BV(PB0);
