我们之前在开发28335时用到了DelayUs()函数,该函数是TI官方用汇编语言写的源代码,现在我们应用程序要移植到C6746上,请问是否还有DelayUs()函数的现成源码可供使用?如果有应该在哪下载?如果没有我们应用程序中用到的DelayUs()函数应该怎么修改?附件为28335下DelayUs()函数的源码。如果在C6746下使用应该怎么修改?谢谢!
Tony Tang:
可以在starterware的timer实现的tick上做修改。
void TimerTickPeriodSet(unsigned int milliSec)
你附件的asm文件,无非是一个汇编的空循环,只不过根据一次循环是几个指令周期,再根据CPU频率得出1us对应几个循环。
Jiafei Li:
回复 Tony Tang:
void TimerTickPeriodSet(unsigned int milliSec){
TimerPeriodSet(SOC_TMR_0_REGS, TMR_TIMER34, (milliSec * TMR_PERIOD_LSB32)); TimerReloadSet(SOC_TMR_0_REGS, TMR_TIMER34, (milliSec * TMR_PERIOD_LSB32));}
这个函数好像是设置定时器周期的,而我应用程序是需要做一段延时,比如先让GPIO口置1,然后延时一定时间(如1us、10us等,程序中有多处用到该延时,且延时时间不同),再让GPIO口置0。应该怎么修改这个函数呢?谢谢。
Jiafei Li:
回复 Tony Tang:
好的,谢谢。