Страница 1 из 1

Attiny24a не читает DS18B20 на 1 МГц 3,3 В, перепробовал все

Добавлено: Сб фев 03, 2018 10:50:50
Tacho
Читаю данные из 18В20 с подтяжкой 4,7 кОм, на 8 МГц - все правильно. Ставлю тактовую 1 МГц и читается бред, причем, времянки делаю такими же , как при работе на 8 - вижу осциллографом, датчик отвечает и отвечает правильно. Команда чтения передается правильно и тоже вижу осциллографом. Длительность "0" от 18В20 22 мкС. "Крутил" задержки - не помогает. 2 других ATTITY24 из этой же партии с этой же программой на 1 МГц работают уже год, датчики менял местами- работают. Прерывания не используются. Куда копать? Гляньте свежим взглядом, пожалуйста. Запись в порт, помимо DDR не помогает. Питание стабильное.
Код такой :
unsigned char data=0, i;
for(i = 0; i < 8; i++)//в цикле смотрим что на шине и сохраняем значение
{
W1_DDR |= 1<<W1_BIT; //выставляем 0 на линии
_delay_us(2);
W1_DDR &= ~(1<<W1_BIT) ; //переключаем на вход
_delay_us(7);
if((W1_PIN & (1<<W1_BIT)) == 0x00) //читаем
data &= ~(1<<i);
else
data |= 1<<i;
_delay_us(50);//задержка до окончания тайм-слота
}
return data;

Re: Attiny24a не читает DS18B20 на 1 МГц 3,3 В, перепробовал

Добавлено: Сб фев 03, 2018 12:11:47
Mishany
W1_DDR |= 1<<W1_BIT; //выставляем 0 на линии
_delay_us(2);
W1_DDR &= ~(1<<W1_BIT) ; //переключаем на вход
_delay_us(7);
команда порт на выход, а не //выставляем 0 на линии

Re: Attiny24a не читает DS18B20 на 1 МГц 3,3 В, перепробовал

Добавлено: Сб фев 03, 2018 18:06:51
Z_h_e
Tacho писал(а):2 других ATTITY24 из этой же партии с этой же программой на 1 МГц работают уже год,
Наверное это ключевая фраза. Ищите разницу.

Re: Attiny24a не читает DS18B20 на 1 МГц 3,3 В, перепробовал

Добавлено: Сб фев 03, 2018 21:38:51
Tacho
На тех, что работают, надпись на корпусе по центру, на неработающих ближе к правому краю.

Re: Attiny24a не читает DS18B20 на 1 МГц 3,3 В, перепробовал

Добавлено: Вс фев 04, 2018 09:40:29
BOB51
Прочитать внимательно ерраты на аттини24/24А.
:roll:
Ежли "из одной партии" - маркировка НЕ ОТЛИЧАЕТСЯ.