((((((((( нет, вру - не выкрутился. Ситуация следующая: есть буфер из 20 байтов, начало по адресу 0100 в XRAM. При отправке этого буфера на персоналку периодически пакет портится, а именно 18 и 19 байты меняют значения, при этом контрольная сумма остается правильной(для первоначального пакета). Вот пример процедуры (упрощенный, но ошибка осталась) : mov DPTR, #000100h nah_otsuda0:
movx a, @DPTR mov r6, a mov r7, #00h; ;-----------------------------------------------------------------------------
;---------------------------------------------------------------------------- call quart_wr; inc DPTR
djnz r3, nah_otsuda0
Если прерывания запретить, то все нормально работает. Но прерывание только одно(от таймера) и с XRAM я в нем не работаю. Указатель адреса и страници сохраняю в стеке, аккумулятор и регистр расширения(В)... Надоумте, в чем проблема ????????(ну кроме как в днк)))
|