BLE通信
时间:10-02
整理:3721RD
点击:
在BLE已成功连接后,OSAL中的一个事件运行时间过长,会导致BLE连接断开,无法正常通信,请问有什么方法可以解决这个问题?
hi jianlong,
是什么类型的事件呢?
能否用timer之类的定时隔段时间去处理呢?
不能用定时器,是一个需要较长时间处理的子程序,可以用延时来代替进行模拟:
HalLcd_HW_WaitUs(1000); //延时一秒钟
void HalLcd_HW_WaitUs(uint16 microSecs)
{
while(microSecs--)
{
/* 32 NOPs == 1 usecs */
asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop");
asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop");
asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop");
asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop");
asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop");
asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop");
asm("nop"); asm("nop");
}
}