|
Применение DS1820 и LCD44780 для начинающих, Подключение нескольких DS1820 на шину. |
|
|
|
Nov 20 2006, 23:11
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Исследовал работу нескольких DS18B20/DS1820 "сидящих" на одной шине, а также возможность динамического подключения/замены данных датчиков на шине. Не нашёл. Некоторые библиотеки, в том числе выложенные на этом форуме являются нерабочими. Написал библиотеки, проверил и выложил их в виде библиотек в соответствующем разделе форума. А здесь предлагаю для начинающих полный учебный проект использования данных библиотек. Написаны и проверены на стенде Nix-06 для начинающих который обсуждался в топике "getting started ..." и расположен по nix-06.nm.ru. Проект написан на IAR C и закончен, а то многие писали, что хотелось бы понять как применять те или иные библиотеки. Мои или другие. Подключается несколько датчиков DS1820/ds18b20/ds18s20 в любом сочетании. На LCD дисплей выводится их количество и температура каждого. Допустимо подключения датчиков по двух-проводной схеме включения. Используется динамическое выделение памяти под ROM датчиков. Библиотека LCD написана таким образом что допускает использование стандартных функций вывода outs и printf с элементами форматирования. Что и пременено в проекте. Имеется прямая индексация курсора и прочие вещи, которые облегчают написание меню и многоуровневых меню. В принципе должно работать для 4-ёх строчных дисплеев, но я не проверял.
|
|
|
|
|
 |
Ответов
|
Jan 22 2007, 11:48
|
Профессионал
    
Группа: Свой
Сообщений: 1 235
Регистрация: 14-05-05
Из: Санкт-Петербург
Пользователь №: 5 008

|
Цитата (GDI @ Jan 19 2007, 11:44) *
В CV в примерах есть подобный проект с использованием встроенных библиотек 1-wire и HD44780. А еще там есть встроенные функции задержки delay_ms(N) и delay_us(N) где N - это число милли- или микросекунд, соответственно, доступны при подключении delay.h.
Использование нескольких датчиков одновременно? Дело в том что не нашёл нигде.
А в общем встроенные библиотеки конечно хороши. Но если они не на Си, то это не облегчает работу (для неначинающих). Дело в том что редко какая-нибудь аппаратная хрень используется точно так как прописано. Обычно надо "почти так, но вот тут чуть чуть подправить". smile.gif И в этом смысле Си-шные библиотеки это позволяют делать. В CV встроенные именно 1-wire и HD44780 - их исходный код не доступен, на Си, по крайней мере, а DS18B20 вполне на Си только расширение у файла .lib. Хорошо когда есть выбор использовать встроенные библиотеки или написанные отдельно... Вот только новичку трудно будет ее портировать на CV, а более искушенные разработчики уходят от CV на IAR или на другие компиляторы... Цитата Но вот если нужно будет не 2 датчика, а например 16? Я делал проект на 8 датчиков на 8 ножках контроллера - все работало.
--------------------
|
|
|
|
|
Jan 22 2007, 12:50
|

Знающий
   
Группа: Свой
Сообщений: 902
Регистрация: 2-01-06
Из: Краснодар
Пользователь №: 12 768

|
[quote name='GDI' date='Jan 22 2007, 11:48' post='199881'] [quote](GDI @ Jan 19 2007, 11:44) *
В CV в примерах есть подобный проект с использованием встроенных библиотек 1-wire и HD44780. А еще там есть встроенные функции задержки delay_ms(N) и delay_us(N) где N - это число милли- или микросекунд, соответственно, доступны при подключении delay.h.
В CV встроенные именно 1-wire и HD44780 - их исходный код не доступен, на Си, по крайней мере, а DS18B20 вполне на Си только расширение у файла .lib. Хорошо когда есть выбор использовать встроенные библиотеки или написанные отдельно... Вот только новичку трудно будет ее портировать на CV, а более искушенные разработчики уходят от CV на IAR или на другие компиляторы...
[quote]Но вот если нужно будет не 2 датчика, а например 16?[/quote]
Я делал проект на 8 датчиков на 8 ножках контроллера - все работало. [/quote] В CV все либы доступны именно на С,посмотрите внимательнее. И насчет портирования с IAR-делал много раз,никаких проблем не доставляет. Проект SasaVitebsk перегнать в СV-дел примерно на полчаса с перекуром.
--------------------
"Hello, word!" - 17 errors 56 warnings
|
|
|
|
Сообщений в этой теме
SasaVitebsk Применение DS1820 и LCD44780 для начинающих Nov 20 2006, 23:11 SasaVitebsk Несколько человек обращалось по поводу сложности п... Jan 19 2007, 01:31 bodja74 Саша ,сделай что то типа этого (проверка BUSY),и н... Jan 19 2007, 01:58 SasaVitebsk Я использую BUSY.
А задержки всё равно нужны.
1) д... Jan 19 2007, 02:54 GDI В CV в примерах есть подобный проект с использован... Jan 19 2007, 10:44 SasaVitebsk Цитата(GDI @ Jan 19 2007, 11:44) В CV в п... Jan 20 2007, 05:20  Qwertty Цитата(SasaVitebsk @ Jan 20 2007, 05:20) ... Jan 20 2007, 14:02   SasaVitebsk Цитата(Qwertty @ Jan 20 2007, 15:02) В CV... Jan 20 2007, 15:31   Andy Great Цитата(Qwertty @ Jan 20 2007, 14:02) Прос... Jan 21 2007, 19:06    SasaVitebsk Цитата(Andy Great @ Jan 21 2007, 20:06) Я... Jan 21 2007, 19:20     Qwertty Цитата(SasaVitebsk @ Jan 21 2007, 19:20) ... Jan 21 2007, 23:35      SasaVitebsk Цитата(Qwertty @ Jan 22 2007, 00:35) По а... Jan 22 2007, 02:50       Qwertty Цитата(SasaVitebsk @ Jan 22 2007, 02:50) ... Jan 22 2007, 04:03        SasaVitebsk Цитата(Qwertty @ Jan 22 2007, 05:03) Поче... Jan 22 2007, 12:38         Qwertty Цитата(SasaVitebsk @ Jan 22 2007, 12:38) ... Jan 22 2007, 14:25 GDI ЦитатаВ CV все либы доступны именно на С,посмотрит... Jan 22 2007, 13:20 GDI Признаю, что с HD44780 я ошибся Jan 22 2007, 14:37 boez Поделюсь опытом развешивания по дому DS18B20 в кол... Jan 22 2007, 16:05 SasaVitebsk Я же уже говорил моя библиотека удобна если издели... Jan 22 2007, 17:08 WHALE ЗвиняюсЬ,1-wire в CV действительно встроенная функ... Jan 22 2007, 21:22 GDI 2 WHALE именно это я и имел ввиду, что в Си ее нет... Jan 23 2007, 12:43 SasaVitebsk Цитата(GDI @ Jan 23 2007, 13:43) 2 WHALE ... Jan 23 2007, 14:15
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|