Форум myROBOT.ru » Роботы и робототехника » Обо всем » Как проверить, есть-ли на входе сигнал

Страниц (1): [1]
 

1. KostX9 - 26 Июня, 2011 - 23:27:21 - перейти к сообщению
Как проверить, есть-ли на входе сигнал ??? Пишу программу к МК ATmega8, на С
(Добавление)
Пишу вот это, не работает.

CODE:
if ((PORTB |= _BV(PB0)) | (PORTB |= _BV(PB1))) // Если передний или задний датчик не видит приптствия (на порте B0, B1 - высокий уровень)
{
Move (); // Двигаемся вперед
_delay_ms(250); // в течении 0.25 сек.
}

if (PORTB &= ~_BV(PB0)) // Если передний датчик видит приптствия (на порте B0 - низкий уровень)
{
Motor_L ();
_delay_ms(250); // в течении 0.25 сек.
}

if (PORTB &= ~_BV(PB1)) // Если задний датчик видит приптствия (на порте B1 - низкий уровень)
{
Motor_R ();
_delay_ms(250); // в течении 0.25 сек.
}
2. Белый Волк - 27 Июня, 2011 - 05:40:08 - перейти к сообщению
KostX9
Сигнал проверяется в регистре PINx; "|=" есть присваивание, следует использовать сравнение:
CODE:

if ((PINB & _BV(PB0)) | (PINB & _BV(PB1))) // можно написать if(PINB & 0b00000011)
3. KostX9 - 27 Июня, 2011 - 09:42:23 - перейти к сообщению
Спасибо большое Улыбка