Обсуждаем контроллеры компании Atmel.
Ответить

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

Сб фев 03, 2018 10:50:50

Читаю данные из 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

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

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

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

Сб фев 03, 2018 21:38:51

На тех, что работают, надпись на корпусе по центру, на неработающих ближе к правому краю.

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

Вс фев 04, 2018 09:40:29

Прочитать внимательно ерраты на аттини24/24А.
:roll:
Ежли "из одной партии" - маркировка НЕ ОТЛИЧАЕТСЯ.
Ответить