内部调用协议栈底层的 MicroWait函数,这个.c文件要包含OnBoard.h这个头文件。
#include "OnBoard.h"
void delay_ms(uint msec)
{
u8 i;
while(msec--)
{
for (i=0;i<100;i++)
{
MicroWait(10);
}
}
}
microwait_ms();
毫秒级延时,直接调用它就可以了。
协议栈的 MicroWait(t) 原型其实也只是调用了三次 asm("NOP");
// Wait for specified microseconds
#define MicroWait(t) Onboard_wait(t)
void Onboard_wait( uint16 timeout )
{
while (timeout--)
{
asm("NOP");
asm("NOP");
asm("NOP");
}
}
可以用asm(“nop”)。