Требуется небольшая помощь с ATmega16 и DS1820
- Дмитрий О
- Вымогатель припоя
- Сообщения: 635
- Зарегистрирован: Пн авг 29, 2005 16:27:04
- Откуда: Дмитров
- Контактная информация:
Доброго времени суток. Просмотрел весь топик, и такое ощущение, что даже никто и не подозревает, что сначала (перед поиском и т. д.) нужно вызвать w1_init(); а потом проводить поиски и тому подобное. Сегодня пробовал 1820 на 2313 - все пашет превосходно, подтягу не ставил. Жаль только, что дискретность 0.5 градуса.
aka Diamond
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Дискретность можно уменьшить
теоретически до 0,1
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Знаю
.
Считываем все 9 байт из памяти.
Пусть
7-й байт из памяти = СR
8-й байт из памяти = CP
Измеренная стандартно температура = Т
Температура с дискретностью (точностью) до 0,1 градус Tx
Тогда:
Тх = Т - 0,25 + (СР-CR)/CР
Считываем все 9 байт из памяти.
Пусть
7-й байт из памяти = СR
8-й байт из памяти = CP
Измеренная стандартно температура = Т
Температура с дискретностью (точностью) до 0,1 градус Tx
Тогда:
Тх = Т - 0,25 + (СР-CR)/CР
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
-
inventives
- Родился
- Сообщения: 3
- Зарегистрирован: Пт июн 01, 2007 11:34:06
ASM.txt во вложении
- Вложения
-
- Пример.txt
- Пример на asm с комментариями на рус.
- (1.95 КБ) 465 скачиваний
-
Dmitro
- Открыл глаза
- Сообщения: 64
- Зарегистрирован: Пт дек 01, 2006 20:32:23
- Откуда: Запорожье
- Контактная информация:
По докам процесс обработки у них одинаковый таймслоты совпадают, только время вычисления температуры в "В" варианте больше, ну так я не жадный 750мс я выделил. Та к в PROTEUSE почему то семейство датчиков "S" серии как и надо 10Н, а на "В" серию стоит 28Н, а такой серии вообще нет. Ну в общем я пока работаю с "S" а там как соберу все в железе и оно не пойдет, тогда буду дальше по форуму "шарится"
- Krik99
- Потрогал лапой паяльник
- Сообщения: 375
- Зарегистрирован: Вс мар 04, 2007 13:14:25
- Откуда: Украина
- Контактная информация:
Да вот тоже увлёкся работай с интерфейсом 1Wire. Вот два дня разбирался и ели разобрался
А весь баг был в частоте... Да и написал в процесе изучения два термомитра на ds18b20 и ds18s20 под CodeVisionAVR Есль есть вопросы пишите в асю.
Вот щя мучаю таблетку iButton. Неукого нет исходника чтения с этой таблетки на Си? За ранние спасибо!

-
Dmitro
- Открыл глаза
- Сообщения: 64
- Зарегистрирован: Пт дек 01, 2006 20:32:23
- Откуда: Запорожье
- Контактная информация:
Read ROM
у меня вот еще проблема, если так можно назвать решил в начале программы на индикацию выводить код устройства, так чето у меня только первый байт только пишет, а остальные нули. Может необходимы какие интервалы между вводом команды READ ROM и получением ответа, так тогда бы не получал первого байта кода.
Подскажите что делать.
Подскажите что делать.
Krik99 писал(а):Да вот тоже увлёкся работай с интерфейсом 1Wire. Вот два дня разбирался и ели разобралсяА весь баг был в частоте... Да и написал в процесе изучения два термомитра на ds18b20 и ds18s20 под CodeVisionAVR Есль есть вопросы пишите в асю.
Вот щя мучаю таблетку iButton. Неукого нет исходника чтения с этой таблетки на Си? За ранние спасибо!
В Proteus 7.2 есть пример для работы с 1wire... лежит по адресу: \SAMPLES\VSM for AVR\One-Wire\NETWORK
так там в комплекте исходнички на С под iwire даллосовские игрушки, такие как: ds2430, ds2433, ds18b20, ds18s20 и ds1990 (как раз вроде Ваша таблетка) ... Правда все ооочень простенько и основывается на 1wire.h, но поставленные Вами задачи("...чтения с этой таблетки на Си") выполняет...
Прикрепил файлик на случай отсутствия Протеуса...
- Вложения
-
- ds1990.c
- (2.95 КБ) 480 скачиваний
Krik99 писал(а):benin
Спасибо! Но меня интересовала только та строчка которая читает код с таблетки и записывает. Не подскажите?
Нуу...
// detect how many 1 Wire devices are present on the bus
devices=w1_search(SEARCH_ROM,&rom_code[0,0]);
определяет все устройства, подключенные к iwire, записывая их КОДЫ(9 байт) в массив rom_code и возвращая кол-во найденных в переменной devices.
- Mozart
- Мучитель микросхем
- Сообщения: 413
- Зарегистрирован: Пт мар 10, 2006 12:23:05
- Откуда: Moscow
- Контактная информация:
я не знаю почему это... вчера в 4часа я столкнулся с подобной фигнёй...а именно если отправить Convert_T то читать темперетутру после 750мс (при 12 битном разрешении) приходится 2 раза, иначе он выдаёт 0х5005...
единственно что я вчера вообще не проверял его на достоверность... хотя бы в тающий лёд запихнуть или в чашку с чаем....
з.ы. у мну время будет проведу эксримент...
з.з.ы. пошёл запихивать воду в морозилку...
единственно что я вчера вообще не проверял его на достоверность... хотя бы в тающий лёд запихнуть или в чашку с чаем....
з.ы. у мну время будет проведу эксримент...
з.з.ы. пошёл запихивать воду в морозилку...
если после прочитанной книги что-то в голове осталось, радуйся. Голова работает на тебя!!!