ВУЗ:
Составители:
// генерируем синусоидальный сигнал
for(i=0; i < Npoint; i++) Data[i]=2000*sin(i*М_РI/80 );
// установим первый ЦАП
SET_DA_NUMBER(0, 0);
// выведем его на первый ЦАП
DASTREAM(Rate, NPoint, Data);
}
5.5. Функции ввода-вывода по цифровым каналам
5.5.1. Чтение восьми младших цифровых линий
int INPBYTE_305();
Назначение. Возвращает состояние 8-и внешних цифровых ТТЛ линий.
Ïàðàìåòðû: îòñóòñòâóþò.
Пример:
main()
{
int i,
// введем 8 линий
i=INPBYTE_305();
}
5.5.2. Вывод на восемь цифровых линий
void OUTBYTE_305(int Code);
Назначение. Функция установки 8-и цифровых линий
Параметры:
Code — устанавливаемый код.
5.6. Функции ввода по аналого-цифровым каналам
с использованием прерываний
Ввод по прерываниям используется, как правило, при анализе процессов на
сравнительно медленных частотах ввода (до
10 кГц). Общая идеология ввода обычно
сводится к следующему: АЦП вводит во внутреннюю память платы УВВС ряд отсчетов
с заданных каналов и после этого генерирует прерывание в компьютер, в котором
предварительно должен быть загружен драйвер-обработчик используемого платой
прерывания, который считывает из платы введенный ряд отсчетов.
5.6.1. Генерирование прерываний без ввода с
АЦП
void INIT_SIMPLE_INTR (int Rate, interrupt *Vector);
Назначение. Программирует контроллер прерываний и плату для работы в режиме
генерации установленного прерывания. После вызова процедуры
INIT_SIMPLE_INTR()
плата генерирует прерывания с интервалом
Rate мкс, которое обрабатывается
драйвером-обработчиком, адрес которого передается в параметре
Vector. Обработчик
должен позаботиться о сбросе как контроллера прерываний компьютера, так и
контроллера прерываний платы АЦП.
Параметры:
1. Rate — интервал генерирования прерываний;
2. Vector — адрес обработчика прерываний.
Пример:
// Драйвер - обработчик прерывания IRQ от платы АЦП при каждом вызове приращивает на //
Страницы
- « первая
- ‹ предыдущая
- …
- 25
- 26
- 27
- 28
- 29
- …
- следующая ›
- последняя »