C语言函数 用此函数精确延时1ms
此时总线时钟是32M
for(unsigned int i)
{
for(;i>0;i--)
{
}
}
此函数对应的汇编语言是
CALL 0X8000 0X0C //gnSsPPP 7个指令周期
LDX #m //PO 2个指令周期
DBNE X //PPP /PPO 3个指令周期
RTC //uUnfPPP 7个指令周期
一个指令周期是1/32000 000 us 即1/32000ms
假设运行x次是1ms
1ms=(7+2+3*x+7)/32000;
得到x=10661 是否正确 欢迎大家发表意见
|