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