A SERVICE OF

logo

iVIEW-100 Series user’s Manual, 2006, v2.0 ----- 135
InstallUserTimer()
Func.: Install user's timer function. User's timer function will be called every 1 ms.
Syntax:
void InstallUserTimer(void (*fun)(void));
Header: #include ”iVIEW.h”
Description:
fun: The user's function pointer. The function cannot use input agument, and
can not return value.
Example:
(ustm.c
for 5
lamps)
#include <iVIEW.h>
#include <mmi100.h>
int Data[3]={0,0,0};
void MyTimerFun(void) /*user timer function*/
{ static int count[3]={0,0,0};
int i;
for(i=0;i<3;i++){ Print("count[%d]=%d\r",i,count[i]);
count[i]++;
}
if(count[0]>=200){ /*LCD lamp1 blink per 200 units*/
count[0]=0;
if (Data[0]==0) Data[0]=1;
else Data[0]=0;
lamp(1,1,Data[0]);
}
if(count[1]>=500){ /*LCD lamp2 blink per 500 units*/
count[1]=0;
if (Data[1]==0) Data[1]=1;
else Data[1]=0;
lamp(2,1,Data[1]);
}
if(count[2]>=1000){ /*LCD lamp3 blink per 1000 units*/
count[2]=0;
if (Data[2]==0) Data[2]=1;
else Data[2]=0;
lamp(3,1,Data[2]);
}
}
void main(void)
{ int quit=0;
Print("\n\rtest LCD lamp blink by UserTimer ");
Print("\n\rPress 'q' to quit\n\r");
InitLib(); InitLCD(); /*initial Lib & LCD*/
ClrScrn(); /*clear LCD screen*/
TimerOpen(); /*open timer function*/
InstallUserTimer(MyTimerFun); /*install & call user timer */
while(!quit){
if(Kbhit() && Getch()=='q') quit=1;
}
TimerClose();
}