[an error occurred while processing this directive]
|
Зацеплены на внешнюю шину параллельно SRAM и CS8900. Естественно выбираются при обращении каждая к своему адресу. По отдельности замечательно работают (в разных проектах).
Инициализацию CS8900 делаю сначала сбрасывая ее и, дождавшись флага окончания инициализации INITD в регистре статуса SelfST, передаю конфигурацию. Через ~10 мс (как и указано в даташите) после сброса флаг всегда выставляется и все работает.
Добавляю в проект с CS8900 такой файл:
#pragma section DATA=SRAM,attr=DATA,locate=0x100000
__far volatile INT16U ExtVar;
Т. е. определяю переменную во внешней памяти. После этого флаг INITD примерно в половине случаев не читается, хотя инициализация успешно проходит т.к. если просто сделать задержку - далее все работает.
E-mail: info@telesys.ru