This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TM4C129x Timer operation

Hi Support team,

I have a customer with the following timer question,  could you advise:

I have a question. I want to have a timer in continuous mode toggling a port at a specified frequency.

However, I’d like to have a 2nd timer change the reload value so that the frequency of the first timer will sweep smoothly without a sudden change in the freq.

If I use ROM_TimerLoadSet then it’s very possible the timer value could change before it counts down to 0 and toggles the port. This can cause the duty cycle of the output to vary in undesirable ways during the transition.

Is there a way to change the reload register without affecting the countdown register?

We are using a Tiva TM4C129x.

30.2.1.20 ROM_TimerLoadSet

Sets the timer load value.

Prototype:

void

ROM_TimerLoadSet(uint32_t ui32Base,

uint32_t ui32Timer,

uint32_t ui32Value)

ROM Location:

ROM_APITABLE is an array of pointers located at 0x0100.0010.

ROM_TIMERTABLE is an array of pointers located at ROM_APITABLE[11].

ROM_TimerLoadSet is a function pointer located at ROM_TIMERTABLE[14].

Parameters:

ui32Base is the base address of the timer module.

ui32Timer specifies the timer(s) to adjust; must be one of TIMER_A, TIMER_B, or

TIMER_BOTH. Only TIMER_A should be used when the timer is configured for full-width

operation.

ui32Value is the load value.

Description:

This function configures the timer load value; if the timer is running then the value is immediately

loaded into the timer.

Returns:

None

Regards

Jeff