分享免费的编程资源和教程

网站首页 > 技术教程 正文

dsp中的tms320的延时函数如何使用

goqiw 2024-12-19 12:55:13 技术教程 14 ℃ 0 评论

ccs10.0开发tms320f2812时需要用到延时.这里提供一个写法.

由于tms320f2812的晶振是35MHZ,经过倍频后是150MHZ,所以也就是150M时钟振荡就是一秒钟.那么一次震荡也就是一个时钟周期就是1/(150*10的6次幂)最后得到的结果是0.xxxx秒,那我换算下就是约等于6.67ns纳秒.

这里的进制关系是:一秒=10的9次幂纳秒.

因为asm(" RPT #1 ||NOP");延时是6.67ns,其中的#1就是一个时钟周期,也就是cpu运行一个指令的时间.也就是我们上边提到的6.67纳秒了.

在下面的延时中循环了1000次,所以是6.67us.注意代码rpt前边是有个空格的哦.否则放到编译器中会报错的.

void delay(int k1)// 延时6.67us

{

int k=0;

for( k=0;k<k1*1000;k++)

{

asm(" RPT #1 ||NOP");//1个周期.因为是150mhz,所以一个周期是6.67ns.

}

}

下图是这是ccs10.0中的for循环语句进行的延时操作:

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表