ATMega16 + DS18B20 не проходит инициализация

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Пт фев 25, 2011 17:12:32
Откуда: Россия

Сообщение 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
После команды

Код: Выделить всё

cbi		DDRC,3
на ноге данных DS18B20 появляется 1 и не отвечает сигналом присутствия (0)...
Реклама
Открыл глаза
Аватара пользователя
Сообщения: 55
Зарегистрирован: Пн окт 11, 2010 20:59:18
Откуда: Краснодар

Сообщение Stalker-U »

Привет. Я уже спрашивал: http://radiokot.ru/forum/viewtopic.php? ... 85#p727385
Поcмотри. Там ChipKiller привёл примеры кода на асме. Вдруг поможет. Мне помогло - уже считал температуру.
Реклама
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Пт фев 25, 2011 17:12:32
Откуда: Россия

Сообщение mxmedia »

Спасибо за ответ, но я читал уже эту тему! Проблема была не в коде... Проблема была в фьюзах временные задержки считал под частоту 4 МГц, а мега работала на 1 МГц...
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»