Читайте также: |
|
запускает таймер с обратным счетом. В переменной count задается начальное значение таймера.
2. CountDownTimerReadValue (int channel,
unsigned long *value); считывает значение таймера с обратным счетом. Это значение записывается в ячейки памяти с начальным адресом value.
Функции для пользовательских таймеров
Драйвер таймера позволяет определить два пользовательских таймера, а точнее, две пользовательские функции, которые будут вызываться с частотой 1 мс и 55 мс.
1. void InstallUserTimer (void (*func)(void)); - этот таймер будет генерировать прерывание через каждую 1 мс. Процедура обработки прерывания будет вызывать функцию, адрес которого задается параметром func. Естественно, пользовательская функция должна завершаться быстрее, чем 1 мс.
2. void InstallUserTimer1C (void (*func)(void));
с истемный таймер генерирует прерывание 8 через каждые 1/18.2 сек» 55 мс. Процедура обработки прерывания 8 вызывает программное прерывание 0х1С. Таким образом, после инсталляции этого таймера, пользовательская функция будет вызываться через каждый 1 мс.
Пример 1. Демонстрация использования таймерных функций для мигания ЖКД через каждые 0.5 сек.
#include<stdio.h>
#include"..\lib\7188.h"
static int count=0;
static int LedMode=0;
// После инсталляции пользовательского таймера
// эта функция будет вызываться через каждые 0.5 сек.
void MyTimerFunс(void)
{
count++;
if (count >= 500)
{
count=0;
if (LedMode) // Если ЖКД был включен
{ LedOff();
LedMode=0; }
else // Если ЖКД был выключен
{ LedOn();
LedMode=1; }
} //Конец условия if (count>=500)
} //Конец функции
//===================================================
// О С Н О В Н А Я П Р О Г Р А М М А
//===================================================
Дата добавления: 2015-08-03; просмотров: 70 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Int TimerClose (void); | | | Void main(void) |