以下图所示,采用P0.02做为PWM的输出,在进行BLE链接的时候,发现开发板已经显示connected,但手机可是一直在connecting当中,而后就断开。android
先从android手机端查看缘由,发现手机是链接上了,但调用discoverServices()后没有触发到onServicesDiscovered()的callback,看来可能和开发板的配置有关。app
使用nRF sniffer抓包看了下开发
master发起了connect_req后,slave回了一个PDU后就再没有数据,只有master每隔30ms进行一次Empty Data PDU传输。io
在DevZone上能够看到这样的回答:table
Connection drop problem was caused by Unstable LFCLK. After adjust LFCLK(32768), connection drop problem is disappearedast
最后我从示波器看了下32.768KHZ的波形,的确被PWM干扰的很严重。sed
个人解决方案:配置
1. 更换PWM输出口im
2. 修改NRF_SDH_CLOCK_LF_SRC 时钟源,能够选择内部RC(option 1),或者HFCLK分频(option 3)call