如何在cw4.7 PE,记录中断运行的时间呢
我现在用的是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);//延迟,做中断处理等等
我现在用的是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);//延迟,做中断处理等等
看过了!你的这个程序看着似乎没有什么问题!只是不知道你使用的FC161_GetTimeUS(&bbb)函数的源代码你有没有?可能是这个函数的使用范围的问题吧!
还有就是FC161_Reset(); 函数确定是放在中断里面而不是主函数中的吗?
看过了!你的这个程序看着似乎没有什么问题!只是不知道你使用的FC161_GetTimeUS(&bbb)函数的源代码你有没有?可能是这个函数的使用范围的问题吧!
还有就是FC161_Reset(); 函数确定是放在中断里面而不是主函数中的吗?
我想把它放在中断里,因为我是记录中断发生的时间.这个FC161_GetTimeUS函数,是PE自带的,源码是有的.
可能如你所说,是使用范围的问题.
但我个人总感觉是什么中断嵌套之类的影响了吧
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |