执行的时间有100us

[复制链接]
 楼主| heweibig 发表于 2016-8-5 19:43 | 显示全部楼层 |阅读模式

用dsp28035做步进电机控制,主频是设置的60mhz,epwm中断周期为60us,虽然在中断中的代码很少,但是居然执行的时间有100us
午夜粪车 发表于 2016-8-5 19:45 | 显示全部楼层
然后呢?你是怎么应对这个的呢
 楼主| heweibig 发表于 2016-8-5 19:47 | 显示全部楼层
于是我关闭所有中断,在主函数中写了这么一段测试代码

main()
{
int16 i;
.
..
...
关闭所有中断;
      while(1)
      {
      LED_ON;
     for(i=0;i<20;I++);
      LED_OFF;
       }
}

经过测试该led的变化周期居然有20us之多
zhenykun 发表于 2016-8-5 19:48 | 显示全部楼层
clockout的问题
 楼主| heweibig 发表于 2016-8-5 19:50 | 显示全部楼层
clockout完全正常,周期为16.67ns
,感觉太奇怪了,什么情况啊……求交流
zhenykun 发表于 2016-8-5 19:53 | 显示全部楼层
烧进FLASH后运行会变慢,但不会慢到这个地步吧!
yszong 发表于 2016-8-5 19:55 | 显示全部楼层

直接不加延时看看周期多少,可以算出IO输出的时间消耗
      LED_ON;
      LED_OFF
 楼主| heweibig 发表于 2016-8-5 19:57 | 显示全部楼层
好的,我明天去单位试一下,多谢各位大侠了哈,结贴了先
mituzu 发表于 2016-8-5 21:12 | 显示全部楼层
可以试用定时器输出。
mituzu 发表于 2016-8-5 21:13 | 显示全部楼层
是不是时钟没有配置好
您需要登录后才可以回帖 登录 | 注册

本版积分规则

869

主题

13089

帖子

7

粉丝
快速回复 在线客服 返回列表 返回顶部

869

主题

13089

帖子

7

粉丝
快速回复 在线客服 返回列表 返回顶部