|
Пытаюсь разобраться с 1-Wire.
Вопрос: будет работать такой код ?
unsigned char ow_reset(void)
{
/*~~~~~~~~~~~~~~~~~~~~~*/
unsigned char presence;
/*~~~~~~~~~~~~~~~~~~~~~*/
PORTB_Bit0 = 0; /* устанавливаем низкий уровень на линии данных (DQ) */
delay(480); /* задержка 480us */
PORTB_Bit0 = 1; /* возвращаем на линию данных высокий уровень */
delay(70); /* ждем ответа */
presence = PINB_Bit0; /* определяем наличие устройств на линии */
delay(410); /* ждем окончания временного промежутка (480us) */
return(presence); /* возвращаем наличие устройств на шине */
} /* 0 = на шине есть устройства, 1 = нет устройств */
На линии подтяжка от 5 вольт через резистор.
А то,что вывод АВР сконфигурирован как выход
устанавливаем низкий уровень а на него плюс попадает
это ничего ? Не погорит АВР ?
Или надо ножку на вход переключать ?
Че то запутался я...
E-mail: info@telesys.ru