I am not familiar with ICC12, but for a basic try:
1) Don't enable TCRE in TSCR1
2) Remove the cli in the interrupt routine.
3) Clear the interrupt flag with TFLG2=0x80.
----- Original Message -----
From: "hendersonmarv" <
hendersonmarv@...>
To: <
68HC12@...>
Sent: Wednesday, March 25, 2009 9:31 AM
Subject: [68HC12] 68hc12 TOVF interrupt problems ICC12
I'm trying to get the timer overflow interrupt working on the
hc12dp256b but so far I haven't had any luck.
The overflow interrupt is never generated in my program(used a breakpiont in
isr) and I can't find the logic error in my code.
Here is my work environment:
CHIP: hc12dp256
COMPILER: ICC12
DEBUGGER: NOICE
Here's the code that doesn't work
----------------------------------------------------------------------
#include <hcs12dp256.h>
#include <stdio.h>
#pragma interrup_handler TOVF_ISR() (isrs installed in vector table file)
int count
void main(void)
{
//setup
TFLG2|=0x80; //Clear interrupt flag
TSCR2 =0x8D; //Set timer frequency(250kHz), Enable TOVF int
TSCR1|=0x90; //enable timer and fast clear TOC7
asm("cli");
count=0;
while(count<3){
if(i%2000==0) printf("count: %d\n",count);
i++;
}
printf("count reached three\n");
}
void TOVF_ISR()
{
asm("cli"); //reenable interrupts
count++;
TFLG2|=0X80;
}
----------------------------------------------------------------------
Thanks to anyone who can help me out