使用信驰达ND08 nrf52832蓝牙模块
引脚如图,之前使用单片nrf52832蓝牙芯片程序没有问题,新板子使用蓝牙模块后无传输数据,使用RTT连接打印发现芯片寄存器没有写入配置(此刻已排除spi程序传输问题,spi程序网上有很多对比后发现无问题)
且每次读出寄存器数据会变
于是进行仿真,发现spi通信返回的数值有问题,确定为spi通信出现问题(就是这个阶段检查的spi代码没发现问题)
后用示波器想看spi的clk和cs管脚是否正常,但是不知道是示波器不行还是板子问题总之电源开始就出现问题,用的锂电池本是直流信号但是在板子上就是正弦波形,无焊接元器件也是,很神奇也很迷,遂放弃。
于是从源头开始检查是否为板子问题,连线无错误无短路断路电源正常地联通,此时发现与上一版的板子区别为使用引脚不同,芯片使用的spi引脚此时为P05,P20,P19,P09,由于本人为蓝牙新手对蓝牙管脚不熟悉所以第一时间没有发现,经与芯片手册对比发现nrf52832的P09与P10管脚为NFC引脚,一般不用做IO口,若想使用需要程序添加宏后作为使用,蓝牙芯片引脚如下图
复用宏为CONFIG_NFCT_PINS_AS_GPIOS
此时自信满满的本人重新擦除程序并烧录发现,好消息:它不乱码了 坏消息:它码得很规律,如下图
每一次烧录寄存器读出都为0XDE,之前每一次烧录都会变,至少方向感觉是对的
因为此蓝牙模块烧录在芯片背后,且间距很奇特,所以为了方便检查焊了一个电池上去方便手拿下载器不用多余的供电线,神奇的事情发生了,程序下进去了,也有数据了
目前能推测的原因是之前图省事没有上稳定的电源全靠下载器的vcc供电导致供电不稳定,所以产生了乱码,所以这一次的失误在于稳定的电源和引脚复用。
硬件,很神奇吧.jpg