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