|
Поскольку ADuC812 использует 3х байтовую адресацию внешней памяти, при которой байты DPL и DPP защелкиваются по ALE, а байт DPH выводится в цикле записи-чтения, то вот дополнительные данные:
Запись в описанный регистр происходит когда DPP = 0x01, значения DPH DPL не играют рояли. Проделанным только что экспериментом установлено, что если при записи байт DPL имеет значение 0x0F -- то все коды прописываются НОРМАЛЬНО. При значениях DPL 0xFF описанная в первом посте ситуация меняется на противоположную -- 0xFF пишутся а 0x00 нет, при коде DPL = 0xF0 прописывается только старшая половина байта и т.д.
Похоже ADuC некорректно формирует фронты при разных комбинациях адреса/данных. Ну это уже полный кошмар! У меня ведь на плате еще и ОЗУ стоит, с которым такие фокусы с подбором правильного адреса не пройдут... Это лечится?
Спасибо всем уже ответившим, буду пробовать...
E-mail: info@telesys.ru