This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

CC2430 Timer 3

Hello,

I am using CC2430 TI Chip with Keil compiler.
I am having problem in setting up Timer 3 settings. Going through CC2430.pdf document.
I have below TIMER 3 settings I tried running the code under simulation mode on KEIL compiler.
the program is not breaking for interrupt as counter value is not being incremented. Can anyone look at the settings and let me know where I am going wrong as coounter is not incrementing.

TIMER 3 SETUP :

T3IF = 0
T3IE = 1
T3CTL = 0XFA
T3CC0 = 0XFA
T3CNT = 0X00
T3CCTL0 = 0X4C
T3OVFIF = 0
T3CH0IF = 0
EA = 1

any help would be appreciated....
Thanks in advance...
AD

Parents
  • I deleted comment.... here is the code with comment.... and I had already checked against datasheet.... and aI think I have done correct setting but not sure why its not working... any help on this would be appreciated....

    TIMER 3 SETUP :

    T3IF = 0 //Timer 3 Interrupt Flag (IRCON.T3IF)
    T3IE = 1 // Timer 3 Interrupt Mask ( IEN1.T3IE)
    T3CTL = 0XFA // (i.e DIV = Tick freq/128 , START = 1 , OVFIM = 1, CLR = 0, // MODE = Modulo) - Timer 3 control

    T3CC0 = 0XFA // // Timer 3 Channel 0 Comapre VAlue
    T3CNT = 0X00 // Timer 3 counter
    T3CCTL0 = 0X4C // (i.e IM = 1, CMP = clear output on compare, // MODE = 1 (enable compare mode)) - Timer 3 Channel 0 Compare control

    T3OVFIF = 0 // timer 3 overflow interrupt flag
    T3CH0IF = 0 // Timer 3 channel 0 interrupt flag

    EA = 1 // enable all interrupt

    any help would be appreciated thanks in advance...

Reply
  • I deleted comment.... here is the code with comment.... and I had already checked against datasheet.... and aI think I have done correct setting but not sure why its not working... any help on this would be appreciated....

    TIMER 3 SETUP :

    T3IF = 0 //Timer 3 Interrupt Flag (IRCON.T3IF)
    T3IE = 1 // Timer 3 Interrupt Mask ( IEN1.T3IE)
    T3CTL = 0XFA // (i.e DIV = Tick freq/128 , START = 1 , OVFIM = 1, CLR = 0, // MODE = Modulo) - Timer 3 control

    T3CC0 = 0XFA // // Timer 3 Channel 0 Comapre VAlue
    T3CNT = 0X00 // Timer 3 counter
    T3CCTL0 = 0X4C // (i.e IM = 1, CMP = clear output on compare, // MODE = 1 (enable compare mode)) - Timer 3 Channel 0 Compare control

    T3OVFIF = 0 // timer 3 overflow interrupt flag
    T3CH0IF = 0 // Timer 3 channel 0 interrupt flag

    EA = 1 // enable all interrupt

    any help would be appreciated thanks in advance...

Children
  • First off, I can really see no single reason why you would erase comments before posting code on this forum.

    Another thing - what was your intention with this comment:

    T3CC0 = 0XFA // // Timer 3 Channel 0 Comapre VAlue
    

    I see 0xFA as timer compare value. But why 0xFA? How did you figure this value should be used? Software comments should focus mostly on "why", while use of well-named constants, function names, variables etc should in most situations be enough to answer "what".

    When playing with timers, it's common to present the evaluation that gives the value that is used - in many cases, this evaluation can even be given directly in the source code, since the compiler can compute constant expressions directly at compile time.