This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F28035/TMS320F28335 延时失效问题的询问

各位好,我的c2000系列的TMS28335/28035的程序中我使用了ti官方的DELAY_US()的函数,但是我想要实现秒级的延时,使用这个函数时候软件自动跳入停止程序。后来我选择自己建立空操作的延时来进行延时,但是程序可以正常编译(伴随着数据类型的警告),烧入到板子中却无法实现延时的效果,目前没有用定时器,我的程序只是普通点亮led的程序,希望各位能够帮我解惑,万分感谢。 这是我的程序。

  • 您好,您有查看DSP2803x_usDelay.asm开头的注释吗?

    使用这个函数时候软件自动跳入停止程序。

    具体现象是什么?

    伴随着数据类型的警告

    具体的warning可以发一下吗?图片显示不完整

  •      你好就是这些,不知道您是否有相应的解决办法,最后一张图是我调用DELAY_US后产生的停止现象。

  • 第一张图片报错还是不完整。out of后面是什么?

    第二张图片的c文件来源是哪个例程?

    调用DELAY_US的相关代码发上来看一下。

    我们建议在TI提供的例程的基础上修改

  • 您好,我只是想要完成一个普通的使得led闪烁的实验,所以就没有用ti的例子,但是我还是发现在多个条件上都是无法实现延时函数的调用,

    警告是我打算用空操作来阻塞cpu的运行来达到延时的效果。

    第二张图片是我用仿真一步一步地跟进程序后程序最后进入的一个源文件的函数里,后再无反应我就退出了,我想是不是因为我没有在主函数最后没有用for循环导致的。

  • 我们强烈建议初学者在例程及相关功能的基础上修改来完成自己的代码。自己新建比想象得要困难的多。

  • 好吧我会多多注意的,感谢您的提醒,我后面有去看官方的例程发现灯的闪烁是根据定时器来延时的,给您添麻烦了我很抱歉,非常感谢您的耐心解答,但是我还有个小小的问题没有解决,我在i2c通信中有用到DELAY_US,但是那个没有问题正常运行,请问DELAY_US函数是否只应用与微秒级别的延时,然后我有很多不同的dsp芯片,dsp的主频是否会改变DELAY_US函数的具体延时值,是一直都是1us吗(DELAY_US(1))?希望您能再不啬地帮忙解答一下,万分感谢。

  • 如前所述,请您查看一下DSP2803x_usDelay.asm开头的注释:

    延时的时长和时钟的配置以及代码存放及运行的位置都有关系。函数以及相应注释中并没有关于时间范围的描述。