File "main.c"
Full Path: /home/analogde/www/LED/Sources/main.c
File size: 1.27 KB
MIME-type: text/x-c
Charset: utf-8
#include <hidef.h> /* common defines and macros */
#include <mc9s12c32.h> /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12c32"
/***************************************************************
* Function prototypes
****************************************************************/
__interrupt void RealTimeInterrupt(void);
/****************************************************************
* Local data definitions
****************************************************************/
static volatile unsigned char rtiCnt; /* to count number of RTIs */
void main(void)
{
DDRB = 0x01; /* set portb pin 0 to output */
PORTB = 0x01; /* turn on LED connected to PB0 */
RTICTL = 0x50; /* 1/(4MHz/2^14) = 4.096 ms per RTI */
CRGINT |= 0x80; /* enable RTI interrupt */
rtiCnt = 0; /* RTI counter to 0 */
asm("cli"); /* enable global interrupts */
for (;;) { /* infinite loop */
if (rtiCnt == 122)
{ /* 500 ms passed? */
PORTB = ~PORTB; /* toggle LED on/off */
rtiCnt = 0; /* reset rti counter */
}
}
} /* end main() */
__interrupt void RealTimeInterrupt(void)
{
rtiCnt++; /* increment the counter */
CRGFLG = 0x80; /* clear rti flag */
} /*end RealTimeInterrupt() */