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

关于28335自带的延迟修正函数DELAY_US()的精度问题

各位大神好,我又来发帖了,依然是挑TI的错 我用ccs自带的时钟,观察DELAY_US(100),使用了15005个时钟周期。 但我如果修改: DSP28x_usDelay(((((long double) A * 1000.0L) / (long double)CPU_RATE) – 9.0L) / 5.0L),将9.0L改成14.0L, 即修改后: DSP28x_usDelay(((((long double) A * 1000.0L) / (long double)CPU_RATE) – 14.0L) / 5.0L) 那么DELAY_US(100),使用了15000个时钟周期。这似乎才是正确的, 这是为什么?TI自带的这个延迟修正函数错了吗

Eric Ma:

这个5主要是因为函数调用跳转到_DSP28x_usDelay时间需要增加5个clk,我觉得-14也是可以的。

ERIC

各位大神好,我又来发帖了,依然是挑TI的错 我用ccs自带的时钟,观察DELAY_US(100),使用了15005个时钟周期。 但我如果修改: DSP28x_usDelay(((((long double) A * 1000.0L) / (long double)CPU_RATE) – 9.0L) / 5.0L),将9.0L改成14.0L, 即修改后: DSP28x_usDelay(((((long double) A * 1000.0L) / (long double)CPU_RATE) – 14.0L) / 5.0L) 那么DELAY_US(100),使用了15000个时钟周期。这似乎才是正确的, 这是为什么?TI自带的这个延迟修正函数错了吗

Tao Tang3:

回复 Eric Ma:

那么从实际意义上说,到底哪个更精确呢?我认为-14更精确吧

赞(0)
未经允许不得转载:TI中文支持网 » 关于28335自带的延迟修正函数DELAY_US()的精度问题
分享到: 更多 (0)