标题:
关于飞思卡尔MCU定时器的问题
[打印本页]
作者:
啦啦哈哈哈
时间:
2020-5-11 12:07
标题:
关于飞思卡尔MCU定时器的问题
为了测试函数funct()的执行时间,将嵌入式平台的未使用的输出引脚pt0附加到示波器上。 运行以下程序并使用该仪器测量pt0的脉冲宽度, 对吗?
// program for testing the execution time funct()
Void main(void){
PT0 |= 0x01;
While (1){
PT0 |= 0x01;
funct();
PT0 &= 0xFE;
}
}
作者:
Shang_
时间:
2020-5-11 16:33
不对,没有低电平
作者:
szps84
时间:
2020-5-11 20:20
用未使用的管教进行实际代码的测量,是嵌入式软件里进行实时性测试的常用手段之一。因此使用未使用管脚来进行function执行时间的理念是没有任何问题的。你使用的单片机非51单片机,所以我不能确定函数两边端口的置位是否正确。但理念是在进入函数时对端口电平进行置位,执行完代码后,再置成相反的电平。你写的代码建议在执行完最后一条语句后进行适当的软件延时来模拟后续代码的执行,因为执行完while最后一条语句后紧接着执行while第一条语句,而这两条语句都是对端口进行置位与反置位,而且是紧挨的指令,硬件会反映不过来,从而使你在示波器上分辨不出function的执行时间。
作者:
szps84
时间:
2020-5-11 20:24
使用未使用的管脚对函数时间进行测量是嵌入式软件中对代码实时性测试的重要方法之一。
代码中表达的意思没有错,但是用图中的代码很难抓到function执行的波形,原因是while的最后一条语句执行后,立即执行while的第一条语句,硬件反应不过来,表现在示波器上,可能只有第一个置位的电平,没有发生执行完后的跳转。 建议在while的最后一条语句后加一个软件延时,你就可以看见function的执行时间了。
希望对你有帮助
作者:
啦啦哈哈哈
时间:
2020-5-11 22:28
szps84 发表于 2020-5-11 20:20
用未使用的管教进行实际代码的测量,是嵌入式软件里进行实时性测试的常用手段之一。因此使用未使用管脚来进 ...
谢谢了
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1