我用nRF52832自己画了一个PCB,在华强买了一些电感和电容,焊了一块板子,我把mesh中的例子light server 烧写进去了,然后在 mesh APP(ios)上 ,能够扫描到provision beacon ,能识别设备,开始provision之后 总是,在某处断开连接,我发现是在 Successfully updated connection parameters之后,就断开连接了,我怀疑是 连接参数的问题,这有可能是硬件导致的,请问,一般对于一个新的模组,怎么样测试,能保证其各项参数都正确?
我把相同的代码放到 nordic的PCA10040中运行 ,就没有问题,能够顺利的执行完成provision过程和配置过程 ,然后,同样的工程download我的板子中就不行,在我的板子上能够执行完成provision过程,然后在连接到 这个刚刚完成provision的proxy node的时候,出现softdevice断言错误 ,程序停止在0x000008C8处,这是否能够说明 这是一个硬件的问题呢?
这这之后,就出现了0X000008C8错误,有遇到过这种情况吗?
jxingl
问题已解决 我一直怀疑我画的板子在32.768的外围电路有问题,这个晶振提供的精度可能达不到要求,而在 d_softdevice_enable(&clock_lf_cfg, app_error_fault_handler);函数中,配置低频时钟时,提供的精度是20ppm的, 我就改成250ppm ,结果就一切OK了,所以,当你为softdevice配置的时钟精度达不到要求的时候,会出现0X000008C8错误,导致provision过程无法完成
jxingl 这个你能确认你没有在代码里面选到内部的晶振?按理外置的32.768Khz晶振再怎么差也不至于几百ppm啊😂
感谢你的提示和指点😀
今日检查PCB,发现犯了一个低级错误,32.768k 晶振, 有一个负载电容竟然没有接地, 估计这导致了精度误差吧,
jxingl 老哥你也是神人也,这个不是说精度低,我估计它起振都困难😂