ВУЗ:
Составители:
единицу статическую переменную и выводит её значение на экран. 
// обработчик прерывания  
void interrupt E_Interrupt(PARM) 
{  
static unsigned int cnt; 
// выведем значение статической переменной  
cprintf("\n\r Счетчик = %5u", cnt++); 
// сбросим флаг прерывания на плате АЦП и в компьютере  
RESET_IRQ(); 
} 
// основная функция 
main() 
{ 
// установим интервал между прерываниями 10000 мкс и 
// адрес обработчика E_Interrupt 
INIT_SIMPLE_INTR( 10000, E_Interrupt); 
// ждем пока не нажата клавиша  
while(!kbhit());  
// запретим прерывания от платы и восстановим 
// контроллер прерываний 
STOP_INTR(); 
} 
 5.6.2. Прерывания с одноканальным вводом с АЦП 
 void STREAM_INTR (int Rate, interrupt *Vector, int Channel); 
Назначение. Программирует контроллер прерываний и плату для работы в режиме 
ввода  с  заданным  интервалом  и  последующим  генерированием  прерывания.  Драйвер
 - 
обработчик должен позаботиться о сбросе как контроллера прерываний компьютера, так 
и  контроллера  прерываний  платы  АЦП.  Для  чтения введенного  отсчета  с  АЦП  можно 
использовать функцию 
READ_DATA(). 
  Параметры: 
1. Rate — интервал генерирования прерываний; 
2. Vector — адрес обработчика прерываний; 
3. Channel — номер канала АЦП. 
Пример:
// Драйвер - обработчик прерывания от платы  
// при каждом вызове вводит отсчет с АЦП и выводит его на экран. 
// глобальная переменная  
int GlobalVar=0; 
// обработчик прерывания  
void interrupt E_Interrupt(PARM)  
{  
int i; 
if(!GlobalVar) 
{ 
Страницы
- « первая
- ‹ предыдущая
- …
- 26
- 27
- 28
- 29
- 30
- …
- следующая ›
- последняя »
