AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR... |
01.06.2013, 17:12
|
|
Гражданин KAZUS.RU
Регистрация: 16.03.2011
Сообщений: 486
Сказал спасибо: 8
Сказали Спасибо 131 раз(а) в 116 сообщении(ях)
|
Re: Чтение DS18B20
Сообщение от oleg110592
|
Ну у производителя микросхемы (APPLICATION NOTE 162) так:
|
Мало ли что производитель придумает...
Сообщение от oleg110592
|
Ваш код, наверное покомпактнее будет.
|
Наверное компактнее - сделать OR байта с константой всяко проще чем вычислять маску и делать тот же OR с байтом.
|
|
|
|
01.06.2013, 17:37
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Чтение DS18B20
Сообщение от _Артём_
|
Как-то сложно у вас. Зачем вычислять маску (1‹‹(i-1))?
Можно сдвигать вправо и устанавливать старший бит, если нужно.
|
Так и есть
PHP код:
|
OWReadBit: sbi w1Dir, w1 rjmp PC+1 ;Задержка 5us rjmp PC+1 rjmp PC+1 rjmp PC+1 cbi w1Dir, w1 rjmp PC+1 ;Задержка 5us rjmp PC+1 rjmp PC+1 rjmp PC+1 lsr w1rdbuf ;сдвигаем вправо sbic w1Pin,w1 sbr w1rdbuf,$80 ;Прибавляем 128 (устанавливаем бит 7 в "1") ldi w1del,5 ;50 микросекунд(50) rcall Del_10 ;Ждём
|
|
|
|
|
01.06.2013, 18:17
|
|
Гражданин KAZUS.RU
Регистрация: 16.03.2011
Сообщений: 486
Сказал спасибо: 8
Сказали Спасибо 131 раз(а) в 116 сообщении(ях)
|
Re: Чтение DS18B20
Сообщение от omercury
|
PHP код:
|
OWReadBit: sbi w1Dir, w1 rjmp PC+1 ;Задержка 5us rjmp PC+1 rjmp PC+1 rjmp PC+1
|
|
Это для какой частоты? 9 тактов = 5 мкс?
Сообщение от omercury
|
PHP код:
|
lsr w1rdbuf ;сдвигаем вправо sbic w1Pin,w1 sbr w1rdbuf,$80 ;Прибавляем 128 (устанавливаем бит 7 в "1") ldi w1del,5 ;50 микросекунд(50) rcall Del_10 ;Ждём
|
|
Только зачем на ассемблере делать? На Си примерно тоже получится.
P.S. Более правильно делать через аппаратные возможности таймера: генерить 0 с переключением в 1 по CompareMatch и определение длительности бита по результату захвата.
|
|
|
|
01.06.2013, 18:22
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Чтение DS18B20
Сообщение от _Артём_
|
Это для какой частоты? 9 тактов = 5 мкс?
|
1,6МГц - Таня15.
8 тактов - 5мкс.
Там же написано - задержка, а не пауза.
Сообщение от _Артём_
|
зачем на ассемблере делать?
|
Далеко не каждый компилятор справится с МК без ОЗУ.
(CV точно захлебнётся.)
И на таймер там времени нет.
Последний раз редактировалось omercury; 01.06.2013 в 18:47.
Причина: Формальности.))
|
|
|
|
01.06.2013, 18:43
|
|
Гражданин KAZUS.RU
Регистрация: 16.03.2011
Сообщений: 486
Сказал спасибо: 8
Сказали Спасибо 131 раз(а) в 116 сообщении(ях)
|
Re: Чтение DS18B20
Сообщение от omercury
|
Далеко не каждый компилятор справится с МК без ОЗУ.
(CV точно захлебнётся.)
|
Да и ИАР может не справится.
Про tiny я как-то забыл что такие есть...
|
|
|
|
01.06.2013, 18:43
|
|
Вид на жительство
Регистрация: 05.07.2006
Адрес: Tashkent
Сообщений: 454
Сказал спасибо: 24
Сказали Спасибо 67 раз(а) в 44 сообщении(ях)
|
Re: Чтение DS18B20
Цитата:
|
Более правильно делать через аппаратные возможности
|
Раз уж разговор пошел про аппаратные возможности, то более правильно использовать UART для коммуникации с датчиками, а таймеры оставить для более важных задач.
|
|
|
|
01.06.2013, 19:04
|
|
Гражданин KAZUS.RU
Регистрация: 16.03.2011
Сообщений: 486
Сказал спасибо: 8
Сказали Спасибо 131 раз(а) в 116 сообщении(ях)
|
Re: Чтение DS18B20
Сообщение от uk8amk
|
Раз уж разговор пошел про аппаратные возможности, то более правильно использовать
|
Ну это уже от задачи зависит.
Сообщение от uk8amk
|
а таймеры оставить для более важных задач.
|
У меня обычно UART-ов и так не хватает, а неиспользованные таймеры остаются. У вас может быть наоборот.
Сообщение от uk8amk
|
то более правильно использовать UART для коммуникации с датчиками
|
Можно и SPI для 1wire задействовать...
|
|
|
|
01.06.2013, 19:21
|
|
Почётный гражданин KAZUS.RU
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,049
Сказал спасибо: 592
Сказали Спасибо 3,968 раз(а) в 1,826 сообщении(ях)
|
Re: Чтение DS18B20
uk8amk, +100500. На UART проще некуда.
Для тех, кто не знает о чем речь (архив).
P.S. Статья не моя, за что купил, за то и продаю. Так что вопросы по орфографии не ко мне и не по окладу.
Последний раз редактировалось alvadep; 01.06.2013 в 20:30.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 22:02.
|
|