大家好,
我在看BLE官方的一些例程,在初始化时没有发现对时钟的设置。根据cc2540的内部结构框图可知,它有32MHz和32.768KHz的外部晶振,以及内部的振荡器。那么默认情况下选择的是哪个时钟了?
另外我发现,如果没有提供外部的32.768KHz的时钟(我们当前的设计是通过另一个CPU产生32.768KHz的时钟),cc2540就不广播了。这是为什么?
硬件初始化都是在那些文件里体现的?
Barbara Wu:
协议栈跑是使用的32MHz时钟,休眠的时候会使用32K的时钟,两个都需要,且精度需要达到要求
不广播的状态是协议栈正常跑了,只是无法进入广播还是说协议栈就没有正常跑?
查一下hal_board_cfg.h
HG:
要保持连接通常要32.768KHz的比较准一点的晶振,但是如果是广播的话32K也可以凑合了~