Ото будет как Вчера

Здесь вопросы новичков
VladislavZ
Сообщения: 28
Зарегистрирован: 23 апр 2009, 17:47
Откуда: Riga Latvija

Re: Ото будет как Вчера

Сообщение VladislavZ » 07 май 2009, 03:09

Вдогонку! К пред, пред, идущему посту! :oops:
Важно знать не просто время, но еще и дни недели!

Аватара пользователя
Radioded
Site Admin
Сообщения: 184
Зарегистрирован: 07 ноя 2008, 02:47
Откуда: Москва
Контактная информация:

Re: Ото будет как Вчера

Сообщение Radioded » 10 май 2009, 16:58

Здравствуйте!
Конечно, последовательность зависит только от меня, НО на ВАШ взгляд какие фрагменты наиболее просты, я ж тока первые шаги делаю! К примеру, начитался я про Д18Б20, но вы думаете, я чего понял!? Конечно, посылаем РЕСЕТ, получаем идентификацию, посылаем запрос, получаем ответ, конечно на словах все красиво, но как на практике. Как, к примеру, знать через какое время после PRESENCE будет идти тело кода, как, к примеру, между знаками 11100100 знать, где какой бит разделений то нет?!
Несложен фрагмент работы с термодатчиком DS18B20 - начните с него, куски кода я выкладывал на форуме, вот:
viewtopic.php?f=6&t=16. Куча библиотек валяется на разных сайтах.
После импульса сброса следует подождать 480 микросекунд и после этого считывать импульс присутствия - "PRESENCE".
Вот моя схемка цифрового термометра - там есть исходники на ассемблере для датчиков DS18B20 и DS1820 - посмотрите их:
http://radioded.ru/index.php?option=com ... &Itemid=49.
Но я рук не опускаю и добросовестно НАСИЛУЮ нЭт в поисках ответов на Очень многие вопросы!
Рекомендую книжки по микроконтроллерам(когда разбирался с датчиком, то помимо даташитов листал книжки), там по сути дела все изложено на понятном, а главное русском языке - но лучше даташиты ;) .
По поводу структурной схемы программы буду премного благодарен!!!
Пс.Может мне все-таки рановато за подобные конструкции браться?
Как вы считаете? Насколько это сложный агрегат?
Скажу прямо - на ассемблере будет тяжеловато, лучше конечно СИ - каждому своё, что Вам больше нравиться на том и делайте, хоть на бэйсике (видел очень достойные законченные устройства на МК с программами, написанные на бэйсике). Пишите блоками - если все блоки по отдельности заработают, то объединить их в одну программу не составит труда. Блоки: работа с термодатчиком, вывод на дисплей, работа с таймерами, работа с портами. Начинайте с малого и всё получится!!!

VladislavZ
Сообщения: 28
Зарегистрирован: 23 апр 2009, 17:47
Откуда: Riga Latvija

Re: Ото будет как Вчера

Сообщение VladislavZ » 14 май 2009, 14:05

Здратсти ВСЕМ!!!
Дорогой радио дедушка. Я в выходные вроде сам разобрался, как происходит обмен (не понимания быль из-за того, что упустил из виду тайм-слот). Теперь не могу понять, как и в какой последовательности, командами обмениваться. Вы прислали много полезной для меня информации (за что я очень вам благодарен).
Вот моя схемка цифрового термометра - там есть исходники на ассемблере для датчиков
Я честно пытался разобраться, но не чего не понял (видимо для меня еще не тот уровень, слишком много вложений и перескоков), и что самое главное я так и не понял, как и какие команды, вы отправляете в термометр. Ну, точнее не как, а после чего? Ну, еще точнее вы каждый раз отправляете CCh, 44h и не пересылаете 0b0ХХ1_1111, то есть вы устанавливаете одно устройство CCh, разрешаете пересчет 44h, дискретность не трогаете, то есть ХХ.0625 и время пересчета 750млиС. Но почему вы после каждой программы RESET посылаете? И разве надо каждый раз говорить устройству, что он единственный, и просить посчитать? Мне так показалось, что все это пересылается один раз, и в дальнейшем только считываем температуру!?
Вы не могли бы, разъяснить сей момент?!!!

Аватара пользователя
Radioded
Site Admin
Сообщения: 184
Зарегистрирован: 07 ноя 2008, 02:47
Откуда: Москва
Контактная информация:

Re: Ото будет как Вчера

Сообщение Radioded » 15 май 2009, 01:30

Здравствуйте!
Вот последовательности действий при работе с датчиком DS1820:
  • послать сигнал обнуления линии (490...960 мкс)
  • принять импульс присутствия (60...240 мкс)
  • послать команду пропуска идентификации 0xCC
  • послать команду начала преобразования 0x44
  • подождать не менее 500 мкс для завершения процесса преобразования
  • обнулить линию
  • послать команду пропуска идентификации 0xCC
  • послать команду считывания блокнота 0xBE
  • принять 9 байт (только пару первых, где находится информация о температуре)
  • обработать и вывести данные
То же самое для DS18B20.
Точность выставляется, для этого есть специальный байт, его наименование я не помню.
Могу отфоткать и скинуть вам пару страниц про термодатчики серии DS из книги.
Но почему вы после каждой программы RESET посылаете? И разве надо каждый раз говорить устройству, что он единственный, и просить посчитать? Мне так показалось, что все это пересылается один раз, и в дальнейшем только считываем температуру!?
Да, скорее всего вы правы, так даже будет проще. Хотя и по-моему работает.

Ibaness
Сообщения: 5
Зарегистрирован: 11 авг 2009, 02:00

Re: Ото будет как Вчера

Сообщение Ibaness » 11 авг 2009, 10:34

Вы зря осцил подключали к XTAL1 и XTAL2. Из-за входной емкости прибора генерация может прекратиться. Да и осцил ничего не покажет... Вам правильно сказали, что проверять нужно чем-нибудь наподобие светодиодного моргала. В ponyprog при запуске обязательно нужно выполнять калибровку (где-то в опциях)

Весна
Сообщения: 1
Зарегистрирован: 23 сен 2009, 07:56

#pragma used+

Сообщение Весна » 23 сен 2009, 08:01

ПОдскажите, что значит #pragma used+
#pragma used-, сгенерированная CodeVisionAVR? внутри нее прописана функция, но зачем ее заключают между этими директивами...

Аватара пользователя
Radioded
Site Admin
Сообщения: 184
Зарегистрирован: 07 ноя 2008, 02:47
Откуда: Москва
Контактная информация:

Re: Ото будет как Вчера

Сообщение Radioded » 23 сен 2009, 18:24

Функции, которые прописаны внутри этих директив заменяют стандартные библиотечные функции СИ т.е. можно заново переопределить такие функции как printf(), getchar(), putchar() и т.д.

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей