Тогда действительно очень похоже на ошибку в протоколе инициализации.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Ivax 24 мая 2006 г. 14:23
В ответ на: Работает уже в 20 местах от разных источников. Результат один: если выключить и включить ранее 30с индикатор чаще всего пустой, хотя BF выдает. отправлено dshabrov 24 мая 2006 г. 13:54

Юзал и на 4 разряда шину и на 8 - без проблем, сбрасывается-инициализируется на ура. Я использую след. способ инициализации, сравни со своим.
---------------------------------------------------------------
Выдержать паузу не менее 15 мс между установлением рабочего напряжения питания (> 4,5 В) и выполнением каких-либо операций с контроллером (!). Первой операцией выполнить команду, выбирающую разрядность шины (это должна быть команда $30 независимо от того, какой разрядности интерфейс вы собираетесь использовать в дальнейшем), причем перед выполнением этой операции не проверять значение флага BF. Далее опять выдержать паузу не менее 4,1 мс и повторить команду выбора разрядности шины, причем перед подачей команды вновь не производить проверку флага BF. Следующим шагом необходимо вновь выдержать паузу, на этот раз 100 мкс, и в третий раз повторить команду установления разрядности шины, вновь без проверки BF. Эти три операции являются инициализирующими и призваны вывести контроллер в исходный режим работы (то есть перевести в режим работы с 8-ми разрядной шиной) из любого состояния. Следом за ними нормальным порядком (без выдерживания пауз, но с проверкой флага BF) выполняется инициализация режимов работы с выдачей инициализирующей последовательности, аналогичной указанной в таблице 7 (содержащей в том числе команду выбора необходимой разрядности шины).
-------------------------------------------------------------------
Пример работы с ЖКИ (драйвер обмена по 4-х разрядной шине) есть в CVAVR. Но обмен сделан с жесткими паузами. Несмотря на все рекомендации мне больше нравится читать готовность т.к. вешать в цикле на такой срок мк ИМХО недопустимо. Но сброс там сделан довольно грамотно. Кстати нормальная инициализация не проходит на эмуляторах типа VMLABа. Не понимают они её и приходится ставить заглушки в проге для отладки.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание

E-mail: info@telesys.ru