MSP430的程序,怎么看执行完一段代码需要多少时间?

MSP430的程序,怎么看执行完一段代码需要多少时间?,第1张

在Debug调试模式下,可以看CPU寄存器的几个计数器。

其中CCTIMER1,CCTIMER2是可以手动清除的,也就意味你可以在执行代码的前后加入断点,执行前清空该计数器,代码跑完看该计数器的值,即是该段代码执行的CPU时钟个数。

具体时间的计算:CPU时钟个数 X 单个时钟周期

另外,CCSTEP会对CPU执行的每一条指令进行计数。

不知道你能不能仿真,要是能仿真其实很简单就解决了啊。(我用的不是149,不是很确定是不是一样的)

放个断点在进中断第一句话,如果能进,说明初始化没问题,如果不能进,说明初始化有问题(大概看了下你程序,初始化加一句P1IFG &= ~BIT0吧,也不一定是这个问题)。

上一步没问题了,再放个断点在标志位判断那个括弧里,就是if(P1IFG &BIT0)这句后边。如果进不了,那就是这里的问题,我一般是这样写的(芯片不一样哦):

//*****************************************************************************

#pragma vector=PORT1_VECTOR

__interrupt void PORT1_RST(void)

{

__delay_cycles(2000)

switch(__even_in_range(P1IV, 16))

{

case 0: break

case 2:// P1.0 IFG

{

…………刚删除掉的

}

break

…………刚删除掉的

case 12: break// P1.5 IFG

case 14: break// P1.6 IFG

case 16: break// P1.7 IFG

default: break

}

P1IFG = 0x00

}

另外while(1)里边那个延时还是去掉吧,你这样问题很大,按键按快了的话一直都执行不到P2OUT&=~BIT6吧,执行到的话灯也亮了8至16秒的任一时间了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11769999.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存