Samael 22-11-2012 21:42
quote:
Originally posted by rk:
Что _BV делает?
BV это вроде как BitValue. вместо сдвига. чтоб не писать (1<<PB0) например. тоже самое _BV(PB0) будет
rk 22-11-2012 22:29
Наличие видимо от компилятора зависит.
Samael 22-11-2012 23:16
это из GCC повелось
Aleksey_N 23-11-2012 09:53
набацал свой вариант бегущего огня. Сделал выход на порт B (8-бит)
#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;
}
}
Samael 23-11-2012 10:10
а
quote:
Originally posted by Aleksey_N:
OUT_PORT=0;
зачем ?
аааа. увидел

там накладывается в bit_set.
Aleksey_N 23-11-2012 10:33
quote:
увидел там накладывается в bit_set.
верно
Aleksey_N 23-11-2012 10:39
использование условных переходов - вещь не красивая

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);
Aleksey_N 25-11-2012 17:01
тема померла что ли?

Romantik 25-11-2012 17:25
Нет. пока некогда было поковыряться.. А вопросы еще будут...
Aleksey_N 25-11-2012 17:31
ждемс..