LPC1517 SCTimer Interrupt stops suddenly

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

LPC1517 SCTimer Interrupt stops suddenly

跳至解决方案
986 次查看
athmesh_n
Contributor IV

Controller   :   LPC1517

IDE             :   MCUXpresso

I'm using SCTimer 3 for using delay for ms, it is working for 60 delays, and then interrupt stops without any reason.

SCT3 IRQ Handler:

 LPC_SCT3->EVFLAG = 0x01;
 count++;

Delay function:

 SCT3_START_ms;
 while(count<period);
 SCT3_STOP;

SCT3_START_ms definition:

 count=0;
 LPC_SCT3->CTRL_U |= (1<<2);
 LPC_SCT3->MATCH[0].U=(SystemCoreClock/1000-1);
 LPC_SCT3->MATCHREL[0].U=(SystemCoreClock/1000-1);
 LPC_SCT3->CTRL_U &= ~(1<<2);

this worked normally for upto 59 counts, and then MATCH0 turned from normal value to 0xffff, also the SystemCoreClock became 0.

is there any specific reason for this weird change?

Thank you

标签 (1)
标记 (3)
0 项奖励
回复
1 解答
870 次查看
athmesh_n
Contributor IV

The above problem solved as SystemCoreClock is not globally initialized and hence, due to memory optimization the SystemCoreClockbecame zero.

在原帖中查看解决方案

0 项奖励
回复
2 回复数
871 次查看
athmesh_n
Contributor IV

The above problem solved as SystemCoreClock is not globally initialized and hence, due to memory optimization the SystemCoreClockbecame zero.

0 项奖励
回复
870 次查看
athmesh_n
Contributor IV

Either declare SystemCoreClock globally, or call GetSystemCoreClock() function.

0 项奖励
回复