我现在用的是cw4.7里的PE
想记录中断发生了多长时间,中断名为EInt1_OnInterrupt
我在个中断发生后,用如下方式实现记录其运行了多久.如果这段代码(如下)
FC161_Reset(); // reset the counter
Cpu_Delay100US(500);//延迟,做中断处理等等
if(FC161_GetTimeUS(&bbb) == ERR_OK) {//记录从reset到当前的时间
ccc = bbb / 60000.0;
放在main()里,是可以记录运行时间的,即bbb里有数据.但是如果把上述代码放到名为EInt1_OnInterrupt的中断中,同样的代码,bbb却始终为0.
是不是在中断中不能有类似FC161_Reset()之类的函数呢?还是要进行别的什么设置呢?
这是含有FC161_Reset()等语句的中断函数void EInt1_OnInterrupt(void)
{
/* place your EInt1 interrupt procedure body here */
FC161_Reset(); // reset the counter
Cpu_Delay100US(500);//延迟,做中断处理等等
if(FC161_GetTimeUS(&bbb) == ERR_OK) {//记录从reset到当前的时间
ccc = bbb / 60000.0;
}
[此贴子已经被作者于2008-12-26 12:14:07编辑过]
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |