DS18B20 + tiny2313 = -9999 в Proteus
13.01.2012, 13:00
|
#11
|
|
Супер-модератор
Регистрация: 03.05.2007
Сообщений: 2,693
Сказал спасибо: 28
Сказали Спасибо 4,526 раз(а) в 956 сообщении(ях)
|
Re: DS18B20 + tiny2313 = -9999 в Proteus
Сообщение от prw07
|
|
спасибо за помощь
|
Да не за что. Просто на будущее имейте ввиду, что последовательность выполнения операций внутри блока (функции) тоже имеет значение и "толкать телегу впереди лошади" как то не с руки. А в вашем случае с DS18B20 функцию поиска устройств на шине 1-wire вообще лучше оформить отдельной процедурой и периодически "толкаться" в нее. Во первых контролируем, что ничего не отвалилось, а во вторых - не появилось свежего. Конечно, если ограничиться 2-мя датчиками, то это может и не надо, но мало-ли, потребуется нарастить систему. А DS-ки "горячего" включения не боятся, проверено практикой. Я пользую с ними телефонные фишки RJ11 (сейчас и некоторые "фирменные" так сделаны) и наращиваю прямо "на ходу", если нужно подоткнуть еще датчик.
|
|
|
|
10.05.2013, 16:12
|
#12
|
|
Прохожий
Регистрация: 10.05.2013
Сообщений: 5
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: DS18B20 + tiny2313 = -9999 в Proteus
Памагите немагу разабратса што я делаю не так
|
|
|
|
10.05.2013, 16:29
|
#13
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
|
Re: DS18B20 + tiny2313 = -9999 в Proteus
|
Цитата:
|
|
што я делаю не так
|
Кроме бездумного использования CVAVR , еще много чего...
__________________
Осторожно , злой кот
|
|
|
|
10.05.2013, 16:46
|
#14
|
|
Прохожий
Регистрация: 10.05.2013
Сообщений: 5
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: DS18B20 + tiny2313 = -9999 в Proteus
чем ана плахая ?? я новинький и ищо многа не панимаю
|
|
|
|
10.05.2013, 17:11
|
#15
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,042
Сказал спасибо: 589
Сказали Спасибо 3,967 раз(а) в 1,825 сообщении(ях)
|
Re: DS18B20 + tiny2313 = -9999 в Proteus
Вот это стул – на нем сидят,
вот это стол – за ним едят…
….
Но если што, то злобный кот возьмет Вас сразу в оборот.
|
|
|
|
10.05.2013, 18:02
|
#16
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
|
Re: DS18B20 + tiny2313 = -9999 в Proteus
Сообщение от KingII
|
|
што я делаю не так
|
Не тот язык изучаешь.
|
|
|
|
11.05.2013, 08:32
|
#17
|
|
Супер-модератор
Регистрация: 03.05.2007
Сообщений: 2,693
Сказал спасибо: 28
Сказали Спасибо 4,526 раз(а) в 956 сообщении(ях)
|
Re: DS18B20 + tiny2313 = -9999 в Proteus
KingII, начните с малого - усвойте, что если Вы скомпилировали проект с уставкой Меги на 8МГц в CodeVision, так будьте добры использовать ту же частоту для МК в Протеусе. Пока у Вас там стоит Int. RC 1МГц.
|
|
|
|
11.05.2013, 12:29
|
#18
|
|
Прохожий
Регистрация: 10.05.2013
Сообщений: 5
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: DS18B20 + tiny2313 = -9999 в Proteus
))))спасиба недумал што ета может иметь большое значения)))
|
|
|
|
04.11.2013, 18:28
|
#19
|
|
Прохожий
Регистрация: 25.04.2011
Сообщений: 8
Сказал спасибо: 0
Сказали Спасибо 9 раз(а) в 4 сообщении(ях)
|
Re: DS18B20 + tiny2313 = -9999 в Proteus
Сообщение от Halex07
|
ТС Вас недопонял, надо было прямо сказать - сначала все инициализировать, а самое главное сам МК, а уж потом шарить датчики.
Вот с этого и надо было... А вы всегда так - сначала писаете, потом штаны снимаете?
Странная логика - сначала поискать датчики, а только потом провести инициализацию микроконтроллера и т.д.
Держите, болезный. Кстати, там еще кое что выкинуть можно и поправить, и еще я Вам нарочно оставил temp-ы со старыми адресами в окне Watch и добавил с новыми, после перетаскивания devices=w1_search... в правильное место. Держите окно AVR Variables включенным, чтоб преиодически, после очередной перекомпиляции проверять - не уехали ли у Вас переменные на новое место.
|
Всем привет, начал изучать программирование, и столкнулся с проблемой периодического появления -9999 на дисплее.
Halex07, подскажите как с этим бороться? Может у меня с библиотеками проблемы, так как проект из вашего поста, процетированного мной выше, тоже периодически высвечивает -9999 на обеих датчиках поочерёдно.
|
|
|
|
06.11.2013, 18:06
|
#20
|
|
Супер-модератор
Регистрация: 03.05.2007
Сообщений: 2,693
Сказал спасибо: 28
Сказали Спасибо 4,526 раз(а) в 956 сообщении(ях)
|
Re: DS18B20 + tiny2313 = -9999 в Proteus
Сообщение от dimmam
|
|
Halex07, подскажите как с этим бороться? Может у меня с библиотеками проблемы
|
Да библиотеки для CVAVR по части DS18B20 не менялись со времен рождения Иисуса Христа, но заглянуть в них рекомендую, чтобы до конца понять природу рождения этих цифирь -9999, оно там, как говорится, "на лице". Откройте в блокноте или адекватной проге файл c:\cvavr\lib\ds18b20.lib и Вы тут же увидите - "где собака порылась..." Бороться можно двумя способами.
Первый - похерить все то, что относится к -9999, т.е. если результат прочтения температуры равен этому числу, то просто не выводить его на экран, а тупо игнорировать. Оно изначально запредельное и задумано таковым в CVAVR, чтобы отследить неадекватность операции. Это совсем просто, не требует мозгового штурма, и займет всего одно дополнительное условие if.
Второй - перелопатить прогу так, чтобы такового вообще не случилось в природе, т.е. "убить в зародыше", дабы не плодить уродливое воплощение из CVAVR. Тут надо внимательно проследить - как оно сделано в библе и в примере, вспомнить, что любой массив начинается с нулевого индекса, а не с единичного, что цикл преобразования температуры в датчике требует определенного времени, и не надо его "дубасить" опросами каждые несколько микросекунд, когда он не в состоянии ответить. Ну, и на основе всего этого "переписать все под свои нужды". Это уже путь "не мальчика, а мужа". Придется пошевелить извилинами - для того они и существуют.
Этого достаточно, или уж совсем никак, надо "мордочкой в молоко ткнуть, как мелкого котенка"?
Последний раз редактировалось Halex07; 06.11.2013 в 18:08.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 00:48.
|
|