Непонятная ( для меня ситуация ) в Иар-овском C. ( Проц - мега128).
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено Владимир__ 06 ноября 2003 г. 01:54

Лежит передо мной макет. В целом, все работает. Стоит Мега128 и LCD.
Остальное несущественно. Идет процесс отладки, и в рамках этого процесса я вывожу на LCD всякую промежуточную фигню.
И вот такая штука. Считываю из внешнего устройства (неважно, из какого), байтик, и вывожу его на LCD. Перед этим преобразую его
в string - использовал библиотечную sprintf. Вначале я прошелся
SPY-отладчиком (предварительно заглушил все поллинги внешних устройств) - строка выглядит нормально. Заливаю в мегу (конечно,
включив поллинги) - не работает. На LCD ничего не выводится.
Тогда вместо sprintf на скорую руку наваял свою процедурку.
Опять же - в отладчике все нормально, а включаешь - не работает.
Бился-бился, потом обнаружил. Та string, которую я выводил, объявлена в процедуре, т.е. локальная. Ничего не меняя в программе,
перенес объявление этой string на самый верхний уровень - то есть сделал глобальной - и все жужжит, выводится на LCD. Опять ничего не меняя, перенес объявление внутрь процедуры - молчит.
Подскажите, куда смотреть, куда копать. В ИАР-овском компилере
я пока не очень, но научусь.

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

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru