Страница 1 из 1
ATMega16 + DS18B20 не проходит инициализация
Добавлено: Пт фев 25, 2011 17:27:12
mxmedia
Код: Выделить всё
...
rcall ds_init
...
delay500us:
push r16
ldi r16,11
d500us1:
rcall delay45us
dec r16
brne d500us1
pop r16
ret
delay65us:
push r16
ldi r16,82
rjmp d45us1
delay45us:
push r16
ldi r16,56
d45us1:
dec r16
brne d45us1
nop
pop r16
ret
ds_init:
clr r16
sbi DDRC,3
rcall delay500us
cbi DDRC,3
rcall delay65us
sbic PINC,3
inc r16
rcall delay500us
ret
После команды
на ноге данных DS18B20 появляется 1 и не отвечает сигналом присутствия (0)...
Re: ATMega16 + DS18B20 не проходит инициализация
Добавлено: Пт фев 25, 2011 23:25:17
Stalker-U
Привет. Я уже спрашивал:
http://radiokot.ru/forum/viewtopic.php? ... 85#p727385
Поcмотри. Там ChipKiller привёл примеры кода на асме. Вдруг поможет. Мне помогло - уже считал температуру.
Re: ATMega16 + DS18B20 не проходит инициализация
Добавлено: Сб фев 26, 2011 10:25:29
mxmedia
Спасибо за ответ, но я читал уже эту тему! Проблема была не в коде... Проблема была в фьюзах временные задержки считал под частоту 4 МГц, а мега работала на 1 МГц...