Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR...

 
Опции темы
Непрочитано 11.03.2014, 11:55  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Не могу подключить ds18b20

85 градусов - это считывание результата до окончания конвертирования.
Автор, 1-wire и динамическая индикация у новичков в программировании обычно не работают. Тут нужно понимать, что и когда твой проц делает. Понимание придет потом. Возможно.
Реклама:
Easyrider83 вне форума  
Непрочитано 11.03.2014, 12:34  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,630
Сказал спасибо: 115
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Не могу подключить ds18b20

Сообщение от Godzilla82 Посмотреть сообщение
И чтобы всё работало корректно, достаточно запретить прерывания именно на момент вызова этих функций (~ 500 мкс).
Да необязательно так делать: достаточно UART, который работает с 1-wire, посадить на DMA. И будет все замечательно.
__________________
Союз Советских Социалистических Округов Северной Америки
eddy вне форума  
Непрочитано 11.03.2014, 13:49  
Boba_spb
Почётный гражданин KAZUS.RU
 
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
Boba_spb на пути к лучшему
По умолчанию Re: Не могу подключить ds18b20

Сообщение от Easyrider83 Посмотреть сообщение
Понимание придет потом. Возможно.
Мудрость приходит со старостью!!! Но ... иногда старость приходит одна!
Boba_spb вне форума  
Непрочитано 11.03.2014, 17:05  
Godzilla82
Почётный гражданин KAZUS.RU
 
Регистрация: 29.10.2006
Сообщений: 1,446
Сказал спасибо: 99
Сказали Спасибо 317 раз(а) в 233 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: Не могу подключить ds18b20

Сообщение от eddy Посмотреть сообщение
достаточно UART, который работает с 1-wire, посадить на DMA.
DMA в ATmega8515

Можно, конечно, наоборот, работать с 1wire через прерывания. Но и там есть определённые сложности.
Godzilla82 вне форума  
Непрочитано 12.03.2014, 10:33  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,630
Сказал спасибо: 115
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Не могу подключить ds18b20

Сообщение от Godzilla82 Посмотреть сообщение
DMA в ATmega8515
Ну, звиняйте, тогда просто через прерывания.

Сообщение от Godzilla82 Посмотреть сообщение
Но и там есть определённые сложности.
Нет там никаких сложностей: сохраняем длительности всех бит, а как только слово целиком получено, обрабатываем и получаем слово.
__________________
Союз Советских Социалистических Округов Северной Америки
eddy вне форума  
Непрочитано 12.03.2014, 20:09  
Godzilla82
Почётный гражданин KAZUS.RU
 
Регистрация: 29.10.2006
Сообщений: 1,446
Сказал спасибо: 99
Сказали Спасибо 317 раз(а) в 233 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: Не могу подключить ds18b20

Сообщение от eddy Посмотреть сообщение
Ну, звиняйте, тогда просто через прерывания.


Нет там никаких сложностей: сохраняем длительности всех бит, а как только слово целиком получено, обрабатываем и получаем слово.
Зря вы так
Вот возникло другое прерывание - и длится 20 мкс. А нам уже бит защёлкнуть давным давно надо.

Ага. Значит надо разрешить прерывания внутри других прерываний.

Упрёмся в сохранение контекста.

На частоте 1 МГц - 15 мкс - это 15 тактов. А сохранение регистров в стеке, вход/выход в прерывание могут и все 50 тактов сожрать. Если не больше.

10 регистров сохранили/восстановили - это уже 40 тактов.
Godzilla82 вне форума  
Непрочитано 12.03.2014, 22:11  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,630
Сказал спасибо: 115
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Не могу подключить ds18b20

Сообщение от Godzilla82 Посмотреть сообщение
На частоте 1 МГц - 15 мкс - это 15 тактов.
Если идет счет на такты, то надо менять МК, а не пытаться из жопера выжать 300км/ч!
__________________
Союз Советских Социалистических Округов Северной Америки
eddy вне форума  
Непрочитано 12.03.2014, 22:23  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Не могу подключить ds18b20

Чей-то у меня все работает
Easyrider83 вне форума  
Непрочитано 12.03.2014, 22:45  
Godzilla82
Почётный гражданин KAZUS.RU
 
Регистрация: 29.10.2006
Сообщений: 1,446
Сказал спасибо: 99
Сказали Спасибо 317 раз(а) в 233 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: Не могу подключить ds18b20

Сообщение от Easyrider83 Посмотреть сообщение
Чей-то у меня все работает
А я и не утверждал, что совсем не будет работать.

Просто, если следовать документации, состояние передаваемого бита нужно считывать не позднее 15 мкс от начала передачи бита. После этого правильное состояние бита не гарантируется. Возмжно, оно ещё 30 мкс там висит в неизменном виде.

И я расчитываю не на удачу, а на худшее стечение обстоятельств.

Понятно, что если выдерживать тайминги первые 20-25 мкс от начала передачи бита, всё будет работать. Но для этого надо грамотно всё реализовать. И тогда ничего не будет моргать, и считываться будет без ошибок.
Godzilla82 вне форума  
Непрочитано 13.03.2014, 00:19  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Не могу подключить ds18b20

Чего? Ничего не понял из написанного.
Easyrider83 вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Решено] Как подключить веб-камеру от ноутбука iturup Видеотехника 5 01.07.2010 22:51
Как подключить двигатель сварочного полуавтомата Д-90С Levap Поиск схем. Делимся схемами 2 02.06.2010 10:23
[Решено] Как подключить мотор EINSHTEYNN Производственное оборудование 11 24.05.2010 22:18
Как подключить лампу дневного света через датчик движения? fipe Автоматика и аппаратура связи 7 03.08.2008 12:40
Матричный принтер СМ6337 как подключить? Ren Ремонт оргтехники 14 10.09.2005 00:50


Часовой пояс GMT +4, время: 19:21.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot