PWM导致BLE连接异常

如下图所示,采用P0.02作为PWM的输出,在进行BLE连接的时候,发现开发板已经显示connected,但手机但是一直在connecting当中,然后就断开。

先从android手机端查看原因,发现手机是连接上了,但调用discoverServices()后没有触发到onServicesDiscovered()的callback,看来可能和开发板的配置有关。

使用nRF sniffer抓包看了下

master发起了connect_req后,slave回了一个PDU后就再没有数据,只有master每隔30ms进行一次Empty Data PDU传输。

在DevZone上可以看到这样的回答:

Connection drop problem was caused by Unstable LFCLK. After adjust LFCLK(32768), connection drop problem is disappeared

最后我从示波器看了下32.768KHZ的波形,的确被PWM干扰的很严重。

我的解决方案:

1. 更换PWM输出口

2. 修改NRF_SDH_CLOCK_LF_SRC 时钟源,可以选择内部RC(option 1),或者HFCLK分频(option 3)

猜你喜欢

转载自my.oschina.net/u/2007478/blog/1814625
今日推荐