Радио

Вопрос по Си для AVR

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

ждемс..