Hardware Timer
This example project shows how a virtual hardware timer is set up and used for a variety of purposes.
Description
We can not imagine any embedded application without Timer. Timer is an essential component for providing timing to our application. This example project will teach how to implement timer in Virtuoso. In virtuoso we don’t need any setup to initialize Timer, just write a service routine which will be called after a particular time and perform the task defined in it and that simple!!
In our example project we are toggling the LED state in service routine and bind this service routine to Timer of Target Model Builder and define the Timer interval for 1 second. As a result our LED in virtuoso started blinking at every one second upon execution of main.
Click here to download complete Project File Click here to download getting started Project File
char SIM_LEDState = 0; // Variable to store the value of LED state
void SetLEDState(char LEDState) // Function to set the LED state
{
SIM_LEDState = LEDState;
}
void TimerISR(void) // Hardware timer ISR
{
SIM_LEDState = ~SIM_LEDState; // This will be call at every 1 Sec
// Toggle the LED state at every 1 Sec
}
void InitVirtuoso()
{
#ifdef _WINDOWS
InitializeVirtuoso();
#endif //_WINDOWS
}
void main()
{
InitVirtuoso();
SetLEDState(1);
while (1)
{
}
}