我是嵌入式编程的初学者。 我在使用 TM4C129 计时器创建延迟时遇到问题、 是否有人可以帮助我解决此问题? 。 使用的 IDE 是 keiluV5、代码构建过程成功。 我将一个切换值写入 GPIO,且在函数中提供了延迟(1ms、10ms 等)(在示波器中使用相同的代码监视 GPIO,而不使用'while (DelaySet_Flag)'; ' ,并在主代码等待开始之前调用函数 while (); 计时器工作正常)。 在主代码结束时、同一代码在等待过程中不起作用。
请找到以下代码
谢谢
----------------------------------------------------------------------
空延迟(uint32_t delay_value)
{
uint32_t Timer_Count;
Timer_Count =(120000 * DELAY_VALUE);//以毫秒为单位计算值
ROM_SysCtlPeripheralEnable (SYSCTL_Periph_TIMER3);
while (!SysCtlPeripheralReady (SYSCTL_Periph_TIMER3)){}
ROM_TimerConfigure (TIMER3_base、TIMER_CFG_PERIODICASE);
ROM_TimerLoadSet (TIMER3_base、timer_A、g_ui32SysClock); // 120MHz
ROM_IntEnable (INT_TIMER3A);
ROM_TimerIntEnable (TIMER3_base、TIMER_TINA_TIMEOUT);
ROM_TimerLoadSet (TIMER3_base、INT_TIMER3A、Timer_Count);
ROM_TimerEnable (TIMER3_base、TIMER_A);
DelaySet_FLAG = 0x01;
while (DelaySet_Flag); //中断处理程序中,DelaySet_Flag=0x00,DelaySet 标志是一个全局变量
DelaySet_FLAG = 0x01;
}