Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
23.07.2013, 18:33
|
|
Почётный гражданин KAZUS.RU
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
ds18b20 + LCd
Добрый день. взял пример кода из CVAVR 2.05 прошил атмегу16+LCD. На ЖК показывает количество датчиков, ROM-коды а температуру не показывает, мигает то -32768 то 0. Подскажите что может быть не так? Хотелось бы конечно самому написать код для опроса датчика, но чтото даже так не получается запустить его.... Стандартную библиотеку не изменял...
|
|
|
|
24.07.2013, 13:48
|
|
Почётный гражданин KAZUS.RU
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Re: ds18b20 + LCd
странно... Перенастроил на порт А.0,подключил датчик - заработало..... На порте B.0,1,2 сидят ножки дисплея ЖК. Может ли из-за этого не работать датчик? Еще вопрос, у меня китайский ЖК 20х4 он не воспринимает команду %+.3f - это же для десятичных цыфр.... Может както по другому надо для китаёзов?? Русского в нем нету.
|
|
|
|
24.07.2013, 14:24
|
|
Супер-модератор
Регистрация: 03.05.2007
Сообщений: 2,695
Сказал спасибо: 28
Сказали Спасибо 4,509 раз(а) в 956 сообщении(ях)
|
Re: ds18b20 + LCd
Сообщение от miwutka
|
Может ли из-за этого не работать датчик?
|
Именно из-за этого, не успел Вам подсказать - сами догадались. А вообще, в чем смысл грузить два порта МК обменом с LCD??? Ищете на пятую точку приключений ... ну, так уже нашли. Шикуете портами направо и налево.
Сообщение от miwutka
|
у меня китайский ЖК 20х4 он не воспринимает команду %+.3f - это же для десятичных цыфр....
|
Да хоть эфиопский, это к набору символов ЖК не относится, первая половина все равно аглицкая - должно работать.
|
|
|
|
24.07.2013, 15:11
|
|
Почётный гражданин KAZUS.RU
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Re: ds18b20 + LCd
Сообщение от Halex07
|
Ищете на пятую точку приключений ... ну, так уже нашли. Шикуете портами направо и налево.
|
Это от неопытности За одно нахожу возможные подводные камни )) Отображаю дроби математикой пока. Чегото не работает стандартная функция... Потом буду разбираться с ней...
|
|
|
|
24.07.2013, 15:16
|
|
Почётный гражданин KAZUS.RU
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Re: ds18b20 + LCd
Хочю убрать задержку из стандартной библиотеки ds18b20. Там такой текст:
PHP код:
|
float ds18b20_temperature(unsigned char *addr) { unsigned char resolution; if (ds18b20_read_spd(addr)==0) return -9999; resolution=(__ds18b20_scratch_pad.conf_register››5) & 3; if (ds18b20_select(addr)==0) return -9999; w1_write(0x44); delay_ms(conv_delay[resolution]); if (ds18b20_read_spd(addr)==0) return -9999; w1_init(); return (*((int *) &__ds18b20_scratch_pad.temp_lsb) & ((int) bit_mask[resolution]))*0.0625; }
|
Можно ли сюда "delay_ms(conv_delay[resolution]);" придумать задержку по таймеру, а не по delay? По идее должно правильно считывать же? Не имеет разницы паузу сделаю таймером или delay`ем?
|
|
|
|
24.07.2013, 15:27
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Re: ds18b20 + LCd
Сообщение от miwutka
|
Отображаю дроби математикой пока. Чегото не работает стандартная функция...
|
Для экономии памяти кода, эта функция имеет разные версии. Сейчас в проекте включена версия, которая понимает только int'ы.
Сообщение от miwutka
|
Можно ли сюда "delay_ms(conv_delay[resolution]);" придумать задержку по таймеру, а не по delay?
|
Сделать-то можно, но с какой именно целью? От этого зависит способ решения.
__________________
There's always more than one way to skin a cat.
|
|
|
|
24.07.2013, 16:10
|
|
Почётный гражданин KAZUS.RU
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Re: ds18b20 + LCd
Сообщение от tempora
|
Сейчас в проекте включена версия, которая понимает только int'ы.
|
Версия чего, компилятора?
Сообщение от tempora
|
с какой именно целью?
|
Хочю через регистры сдвига отобразить на индикаторе 7 сегментном и на ЖК чтобы без задержек. Я вставил в прерывание от таймера отображение ЖК, но это же слишком громоздко в прерывании такое делать. Надо просто на ЖК отображать еще счетчик, который считает 10мс каждые, без задержек...
|
|
|
|
24.07.2013, 16:36
|
|
Почётный гражданин KAZUS.RU
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Re: ds18b20 + LCd
Сообщение от miwutka
|
Сообщение от tempora
Сейчас в проекте включена версия, которая понимает только int'ы.
Версия чего, компилятора?
|
всё, разобрался. Надо было в настройках компиятора включить float и т.д. И стало отрицательную температуру показывать.
|
|
|
|
24.07.2013, 17:57
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Re: ds18b20 + LCd
Не совсем понял детали, особенно странной выглядит вот эта хотелка:
Сообщение от miwutka
|
Надо просто на ЖК отображать еще счетчик, который считает 10мс каждые, без задержек...
|
какой смысл отображать на индикаторе то, чего нельзя прочесть?
__________________
There's always more than one way to skin a cat.
|
|
|
|
24.07.2013, 18:14
|
|
Почётный гражданин KAZUS.RU
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Re: ds18b20 + LCd
ну да... это я уже увидел... та хотелка отпадает. Вот подключил регистры сдвига, индикатор 7-сегментный показывает. Но температура иногда не считывается. На ЖК выдает -9999. Подскажите как соединить регистры сдвига с датчиком чтобы всё нормально показывало...? Получается что когда надо считывать температуру МК бросает это дело и выполняет прерывание.
Последний раз редактировалось miwutka; 24.07.2013 в 18:17.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
Подключение LCD (KS0066U) к AVR микроконтроллерам серии mega
|
eez |
Микроконтроллеры, АЦП, память и т.д |
47 |
27.09.2013 14:10 |
ЖКИ и CodeVision: 8-ми битный режим
|
vikpol |
Микроконтроллеры, АЦП, память и т.д |
33 |
09.03.2009 21:55 |
Подключение LCD Nokia 3310
|
vsvetlov |
Микроконтроллеры, АЦП, память и т.д |
0 |
24.09.2007 21:25 |
ATmega8 и DS18B20, не определяется датчик
|
butman |
Микроконтроллеры, АЦП, память и т.д |
21 |
09.06.2007 22:05 |
На чём написано ???
|
Koka |
Proteus, KiCAD и другие ECAD |
18 |
08.10.2006 15:50 |
Часовой пояс GMT +4, время: 12:12.
|
|