关于串口使用导致蓝牙无法工作
时间:10-02
整理:3721RD
点击:
我的设备加了GSM模块,利用串口通信来控制GSM模块工作。
设备上电能看到蓝牙正常广播,在上电初始化就已经打开了串口0,通过按钮触发gsm模块上电工作,开始串口开始通信,串口通信没开始多久,就发现蓝牙没有在广播了。
GSM模块并不是一直工作,GSM完成工作后,2451会通过IO控制让GSM模块掉电,但是蓝牙依然没有广播。
再一次按按钮,串口可以正常和GSM模块工作通信,说明2541没有跑飞,只是蓝牙挂了。
备注:串口通信中我用的delay函数,自己写的软延时,不知道这部分代码是否会影响蓝牙工作,延时在我的串口工作中是必须的。
void delay_GSM(uint32 i)
{
unsigned int i_delay,j_delay;
for(i_delay=0;i_delay<i;i_delay++)
{for(j_delay=0;j_delay<800;j_delay++)
{;}}
}
zhaoyan,
是的。这样的循环会导致蓝牙不工作。
因为说到底2541只是一个8051单片机的for循环轮询系统,只要中间有这种等待,就会把整个系统挂起不工作。