[an error occurred while processing this directive]
Proteus, чтение регистра TMR1L,TMR1H в PIC18F при включеном RD16
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено Newbie 22 декабря 2005 г. 11:27

Добрый день, столкнулся с такой проблемой.
В мануале по PIC18F есть возможность чтения значения таймера без ошибок на переполнение, если включить RD16 = 1.
В этом случае можно прочитать значение TMR1L, при этом происходит заполнение TMR1H, и затем читаем корректное значение TMR1H.
Так вот в Proteus 6.7 SP3 это не работает.. почемуто TMR1H не изменяется
<-- code -->
unsigned short J1_dn = 0;
// init timer
TMR1ON = 0;
T1RD16 = 1;
T1CKPS1 = 0; // prescaller 11 = 1:8
T1CKPS0 = 0;
TMR1CS = 0; // internal clock
TMR1IP = 0;
TMR1IE = 1;
TMR1H = 0;
TMR1L = 0;

// timer test
TMR1H = 0x01;
TMR1L = 0xFA;
TMR1ON = 1;
J1_dn = TMR1L;
asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");
asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");
J1_dn+= TMR1H<<8; // J1_dn = 0x01FB
J1_dn = TMR1L;
J1_dn+= TMR1H<<8; // J1_dn должно быть 0x020C, в Proteus 0x010D
<-- code -->

сравнивал c симулятором MPLAB SIM 7.22 (работает корректно)
компилятор HTPIC18 8.35

Может кто сталкивался и подскажет в чём ошибка?

Спасибо

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

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание

E-mail: info@telesys.ru