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

C6678,DSP通过UDP协议发送数据,每包之间时间间隔设置

我调用的Tasksleep函数,延迟时间为ms数量级,请问如何将延时时间设置为微秒级别的?

(1)可以通过修改tasksleep函数吗?这个函数源码在哪,可编程?

(2)自己写的delay函数不起作用

Andy Yin1:

参考STK例程keystone_common.c中的TSC delay函数,以us为单位。

void TSC_delay_us(Uint32 us){ volatile unsigned long long startTSC, currentTSC; unsigned long long delay_cycles; Uint32 tscl, tsch;

tscl= TSCL; tsch= TSCH; startTSC= _itoll(tsch,tscl); delay_cycles= ((unsigned long long)us*gMain_Core_Speed_Hz/1000000);

do { tscl= TSCL; tsch= TSCH; currentTSC= _itoll(tsch,tscl); } while((currentTSC-startTSC)<delay_cycles);}

Dan Jia:

回复 Andy Yin1:

您好 我调用这个函数,抓包软件无法抓包,使用tasksleep函数就能正常抓包,这怎么处理呢?
我想建立pc到DSP的发送数据,可以参考哪个例程?或者网页?谢谢您!

Andy Yin1:

回复 Dan Jia:

 提供的只是一个延时函数而已,不会影响到正常的数据发包,EMAC-PC数据收发参考STK或者mcsdk中的例程。

STK:http://www.deyisupport.com/question_answer/dsp_arm/c6000_multicore/f/53/t/47664.aspx

Dan Jia:

回复 Andy Yin1:

您好 但我的测试结果确实是这样,同样的延时时间1ms,tasksleep抓包软件能接收到数据,提供的延时函数抓包软件就不能抓到数据

Yu Mao:

回复 Dan Jia:

你好,我同样也发现了你所说的这个问题,请问你后来是怎么解决的呢,希望能得到你的回复,非常感谢!

赞(0)
未经允许不得转载:TI中文支持网 » C6678,DSP通过UDP协议发送数据,每包之间时间间隔设置
分享到: 更多 (0)