找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1534|回复: 4
打印 上一主题 下一主题
收起左侧

关于飞思卡尔MCU定时器的问题

[复制链接]
跳转到指定楼层
楼主
ID:544720 发表于 2020-5-11 12:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
为了测试函数funct()的执行时间,将嵌入式平台的未使用的输出引脚pt0附加到示波器上。 运行以下程序并使用该仪器测量pt0的脉冲宽度, 对吗?
// program for testing the execution time funct()
Void main(void){
PT0 |= 0x01;
While (1){
PT0 |= 0x01;
funct();
PT0 &= 0xFE;
}
}


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:557403 发表于 2020-5-11 16:33 | 只看该作者
不对,没有低电平
回复

使用道具 举报

板凳
ID:749362 发表于 2020-5-11 20:20 | 只看该作者
用未使用的管教进行实际代码的测量,是嵌入式软件里进行实时性测试的常用手段之一。因此使用未使用管脚来进行function执行时间的理念是没有任何问题的。你使用的单片机非51单片机,所以我不能确定函数两边端口的置位是否正确。但理念是在进入函数时对端口电平进行置位,执行完代码后,再置成相反的电平。你写的代码建议在执行完最后一条语句后进行适当的软件延时来模拟后续代码的执行,因为执行完while最后一条语句后紧接着执行while第一条语句,而这两条语句都是对端口进行置位与反置位,而且是紧挨的指令,硬件会反映不过来,从而使你在示波器上分辨不出function的执行时间。
回复

使用道具 举报

地板
ID:749362 发表于 2020-5-11 20:24 | 只看该作者
使用未使用的管脚对函数时间进行测量是嵌入式软件中对代码实时性测试的重要方法之一。
代码中表达的意思没有错,但是用图中的代码很难抓到function执行的波形,原因是while的最后一条语句执行后,立即执行while的第一条语句,硬件反应不过来,表现在示波器上,可能只有第一个置位的电平,没有发生执行完后的跳转。 建议在while的最后一条语句后加一个软件延时,你就可以看见function的执行时间了。
希望对你有帮助
回复

使用道具 举报

5#
ID:544720 发表于 2020-5-11 22:28 | 只看该作者
szps84 发表于 2020-5-11 20:20
用未使用的管教进行实际代码的测量,是嵌入式软件里进行实时性测试的常用手段之一。因此使用未使用管脚来进 ...

谢谢了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表