[an error occurred while processing this directive]
Народ, подскажите по отладчику uVision (C51)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено Ace-X 11 января 2005 г. 22:19

Написал простейшую процедурку на встроенном скриптовом
языке отладчика. И вроде все верно, но вот работать как
следует она отказывается.

Предполагалось следующее: после нажатия кнопки "Start Monitor"
функция rd0() должна отслеживать все обращения по чтению по адресу
0xFF80 (на него маппируется внешняя периферия, скажем регистр) и
подставлять в аккумулятор вместо возвращаемого результата значение
RD_VAL. Значение RD_VAL задается функциями setFF() и set00().

Проблема в том, что printf в rd0() выводит верные значения
аккумулятора, но в реальности аккумулятор не изменяется. Т.е.
возвращаемое значение по адресу 0xFF80 функцией rd0() не изменяется.

Тестирование проводились на Keil 7.50a. uVision 3.05e и 2.40a.



define int RD_VAL

signal void rd0() {
while (1) {
rwatch(X:0xFF80);
A=RD_VAL;
printf("%02X\n",A);
}
}

func void setFF() {RD_VAL=0xFF;}
func void set00() {RD_VAL=0x00;}

RD_VAL=0x00;
define button "Start Monitor","rd0()";
define button "Set to 0xFF","setFF()";
define button "Set to 0x00","set00()";


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

Ответы


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

Имя (обязательно): 
Пароль: 
E-mail: 

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

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

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


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru