Российский производитель и разработчик сертифицированного измерительного оборудования с 1987 года


ТТЛ-вывод по таймеру в L-783

Вы не вошли.

 Поиск | Регистрация | Вход 

Deiteri
18.11.2004 00:49:06
#1

Гость

ТТЛ-вывод по таймеру в L-783

Пытаюсь создать прерывание по таймеру для генерации импульсов на 0 выходе ТТЛ линии на основе поставляемых к плате драйверов (сам драйвер используется). (l783.dsp)
Вешаю на таймер
  JUMP TimerIRQ; NOP; NOP; NOP;
почти сразу после метки Start
DIS TIMER;
  AR=_значение_;             /*--TPERIOD--*/
  DM(Tperiod_Reg)=AR;                 
  AR=_значение_;             /*--TCOUNT--*/
  DM(Tcount_Reg)=AR;
  AR=0;             /*--TSCALE--*/
  DM(Tscale_Reg)=AR;

после подачи сигнала о готовности платы AR=0x1; DM(Ready)=AR;
включаю таймер ENA TIMER;

в самом конце файла описана сама вызываемая функция
TimerIQR:
  ENA SEC_REG;
  AR=DM(TtlOut);
  AR=TGLBIT 0 OF AR;
  IO(0)=AR;
  DM(TtlOut)=AR;

эффекта от вставленного кода не наблюдается никакого. Подскажите может че не так понял с портом?

18.11.2004 10:18:35
#2

Сотрудник "Л Кард"
Здесь с 24.04.2014
Сообщений: 1,517

Re: ТТЛ-вывод по таймеру в L-783

Не вижу чтобы Вы где-нибудь размаскировали таймерное прерывание (регистр IMASK).

Deiteri
09.12.2004 10:14:36
#3

Гость

Re: ТТЛ-вывод по таймеру в L-783

Спасибо за напоминание, забыл. Новичек еще в DSP. Теперь сигнал есть, но возникла другая проблема. Когда биос загружен и идет сбор данных, на выходе идет случайная последовательность импульсов. Когда я стал разбираться оказалось что даже простое
TimerIQR:
ENA SEC_REG;
AR=DM(TtlOut);
IO(0)=AR;
DM(TtlOut)=AR;
вызывает ту же реакцию. Когда заменил TtlOut на неиспользуемый регистр MR2, все стабилизировалось. В управляющей программе на программе компьютера ТТЛ выходы не использовались.
Получается что TtlOut меняется произвольно?
Хоть через регистр и работает но, но таким способом обнуляются другие биты, а я планирую использовать их из управляющей программы.
P.S. Создавал другую переменную в var.h но тот же эффект - случайная последовательность 0 и 1.