自己设计一个基于DA14580的电路板,功能很简单,采用广告采集数据,然后通过蓝牙发送到手机应用程序上。
发现当电路板超出连接的物理范围,手机应用提示蓝牙断开连接,然后手机应用退出运行。再次打开手机应用发现无法搜索到蓝牙,无法再次连接。
我在设计的电路板预留了测试引脚,当蓝牙连接时,此引脚设置为高电平;蓝牙没有连接的时候,引脚设置为低电平。
但是我发现蓝牙连接超出物理范围的时候该引脚电平仍然是高电平,没有设置为低电平。(我在程序编写的时候,蓝牙断开连接的时候我会把该引脚设置为低电平)
而且程序也不知道运行到什么地方了。
本人用其它公司的蓝牙做过测试,手机应用断开连接后,再次搜索可以发现蓝牙设备而且可以再次连接。
希望达公司的技术支持给予帮助,谢谢!
设备:
请问你的程序是基于哪个参考工程做的?
由于没有具体的信息,这里只能给一些大概的帮助:
——无论是手动断连还是超出范围,user_on_disconnect()处理函数将被调用,此函数可以用于检测设备断开。
——超出范围后不会马上断连,而是开始一个超时计监督时,该计时结束后才会触发断连。可以通过设置缩短该时间来使得超出范围的情况更快被响应。
——如果发送数据包的频率太高(一秒两个以上)会因数据累积阻塞导致580进入平台复位而无法正常断连。需要设置user_custs1_b_data_ntf_cfm_handler()来确认之前的通知正确接受前不发送新的通知。
更多信息请参考需求方工程的主机部分
您好!我用的SDK是3.0.6的版本。我设置1秒钟发送10包数据,每包数据11个。请问怎么设置不会导致数据阻塞而引起14580的platform reset。
还有一个问题,关于低功耗设置,我把广播时间设置为2秒钟一次,而且打开了extend_sleep模式,还有别的需要设置吗?目前我的电池输出电流是1.6,我的电池是80 mah。
我希望电池可以坚持至少一周的时间。我的电路设计是,只有一个单独蓝牙芯片工作,没有外部eepm和flash保存数据,还有一个外部信号处理电路,外部信号处理电路的电源由蓝牙芯片控制,当蓝牙和手机连接的时候才让外部信号处理电路工作,蓝牙不连接的时候外部信号处理电路不工作。