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.
我将 F280049C CPU 定时器1配置为产生500us (0.5ms)的中断、但我不确定我的配置是否正确。 我的配置如下。
/**<将系统配置为以100MHz 运行*/
/**< PLLSYSCLK = 10MHz (SYSCTL_OSCSRC_OSC2)* 19 (IMULT)+ 0.25 (FULT)/2 (PLLCLK_BY_2)*/
bool return_value = SYSCTL_setclock (SYSCTL_OSCSRC_OSC2|SYSCTL_IMULT (0x13)
|SYSCTL_FMULT_1_4|SYSCTL_SYSDIV (0x2)
|SYSCTL_PLL_ENABLE);
INTERRUPT_REGTER (INT_Timer1、&TIMER::ISRTimer1);
SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_Timer1);
uint32_t temp =(uint32_t)(100000000 / 1000000 * 2000);
CPUTimer_setPeriod (CPUTIMEer1_base、temp);
CPUTimer_setPreScaler (CPUTIMER 1_base、0);
CPUTimer_stopTimer (CPUTIMEer1_base);
CPUTimer_reloadTimerCounter (CPUTIMEer1_base);
CPUTimer_setEmulationMode (CPUTIMER 1_base、CPUTIMER EMULATIONMODE_STOPAFTERNEXTDECCEMENT);
CPUTimer_clearOverflowFlag (CPUTIMEer1_base);
/**<启用定时器中断*/
CPUTimer_enableInterrupt (CPUTIMEer1_base);
/**<为定时器1中断启用 CPU 中断号13 *
INTERRUPT_ENABLE (INT_Timer1);
/**<启动计时器*/
CPUTimer_startTimer (CPUTIMEer1_base);
我使用的是午餐垫
从调试窗口中删除。 似乎计时器比所需时间慢。 它的速度慢了3倍。 是因为它处于调试模式吗?
问题可能是什么。
谢谢。
您好!
您的 temp2值似乎不正确。 如果您希望定时器运行500us (0.5ms)、则总周期计数将为(500uS/SYSCLK_PERIOD)。 在 PLL 以96.5MHz 的频率运行的情况下、周期将为103.89ns。
temp2=4812的基准
此致、
Nirav