TI中文支持网
TI专业的中文技术问题搜集分享网站

关于F28035程序运行延迟的问题

 做了一个双电机控制的板子,做了个简单的测试程序:

 if(1号电机启动按钮 ==1  &&  2号电机启动按钮 ==1)

 {

     1号电机和2号电机停止;

 }

if(1号电机启动按钮 == 0 )

 {

  1号电机启动;

}

if(2号电机驱动按钮 ==0)

{

 2号电机启动;

}

 

程序运行过程中发现F28035扫描的很慢:

         我一直按下1号电机的启动按钮(1号电机启动按钮==0),电机先开始启动,然后停一下,然后再启动。

         按下2号电机的启动按钮,要等一会儿2号电机才启动,然后又停了,再启动。

我想出现上面的原因应该是程序扫描周期的问题。系统时钟是60MHZ,不知道为什么扫描这么慢,感觉还没有8位单片机块。

我是哪里设置错了?

我是直接用F28035.CMD和DSP2803x_Headers_nonBIOS.cmd这两个CMD文件下载的程序……

 

Eric Ma:

Lzh,

有没有其他中断代码打算扫描?

你也可以设断点在这些判断条件里,或是用一个counter变量在判断条件的执行代码里面,然后观察一下conter的计数,看到底是什么原因。

Eric

 

 做了一个双电机控制的板子,做了个简单的测试程序:

 if(1号电机启动按钮 ==1  &&  2号电机启动按钮 ==1)

 {

     1号电机和2号电机停止;

 }

if(1号电机启动按钮 == 0 )

 {

  1号电机启动;

}

if(2号电机驱动按钮 ==0)

{

 2号电机启动;

}

 

程序运行过程中发现F28035扫描的很慢:

         我一直按下1号电机的启动按钮(1号电机启动按钮==0),电机先开始启动,然后停一下,然后再启动。

         按下2号电机的启动按钮,要等一会儿2号电机才启动,然后又停了,再启动。

我想出现上面的原因应该是程序扫描周期的问题。系统时钟是60MHZ,不知道为什么扫描这么慢,感觉还没有8位单片机块。

我是哪里设置错了?

我是直接用F28035.CMD和DSP2803x_Headers_nonBIOS.cmd这两个CMD文件下载的程序……

 

Bruce:

回复 Eric Ma:

有一个LED闪烁的定时器中断,我试试加个定时器看看。

谢谢……

 做了一个双电机控制的板子,做了个简单的测试程序:

 if(1号电机启动按钮 ==1  &&  2号电机启动按钮 ==1)

 {

     1号电机和2号电机停止;

 }

if(1号电机启动按钮 == 0 )

 {

  1号电机启动;

}

if(2号电机驱动按钮 ==0)

{

 2号电机启动;

}

 

程序运行过程中发现F28035扫描的很慢:

         我一直按下1号电机的启动按钮(1号电机启动按钮==0),电机先开始启动,然后停一下,然后再启动。

         按下2号电机的启动按钮,要等一会儿2号电机才启动,然后又停了,再启动。

我想出现上面的原因应该是程序扫描周期的问题。系统时钟是60MHZ,不知道为什么扫描这么慢,感觉还没有8位单片机块。

我是哪里设置错了?

我是直接用F28035.CMD和DSP2803x_Headers_nonBIOS.cmd这两个CMD文件下载的程序……

 

Bruce:

回复 Bruce:

我利用CPU定时器1(计数频率60MHZ),测试了一下:

1、初始化完成大概300us。

2、初始化完成然后扫描,到各个外部信号的有效条边沿扫描到DSP,也就十几us,但是执行的过程中,好像是隔1s左右抖动一下。

3、唯一不确定的是在单步执行的情况下,CPU定时器1是自由运行的吧?   这样测量方法是不是对的?

请教TI的高手了

 

 做了一个双电机控制的板子,做了个简单的测试程序:

 if(1号电机启动按钮 ==1  &&  2号电机启动按钮 ==1)

 {

     1号电机和2号电机停止;

 }

if(1号电机启动按钮 == 0 )

 {

  1号电机启动;

}

if(2号电机驱动按钮 ==0)

{

 2号电机启动;

}

 

程序运行过程中发现F28035扫描的很慢:

         我一直按下1号电机的启动按钮(1号电机启动按钮==0),电机先开始启动,然后停一下,然后再启动。

         按下2号电机的启动按钮,要等一会儿2号电机才启动,然后又停了,再启动。

我想出现上面的原因应该是程序扫描周期的问题。系统时钟是60MHZ,不知道为什么扫描这么慢,感觉还没有8位单片机块。

我是哪里设置错了?

我是直接用F28035.CMD和DSP2803x_Headers_nonBIOS.cmd这两个CMD文件下载的程序……

 

Martin Yu:

回复 Bruce:

Lzh,

根据你的描述应该是你的软件问题,建议用最简单的程序跑,关掉所有中断,禁止看门狗等,最好将代码贴上来看下。

关于Timer1是否自由运行科通过寄存器Timer1CTR的FREE和SOFT进行设置,详见datasheet.

赞(0)
未经允许不得转载:TI中文支持网 » 关于F28035程序运行延迟的问题
分享到: 更多 (0)