2016年12月29日 星期四

How to change nRF51 Clock Source in ble_stack_init function?

1. 最近在測試nRF51的板子實作2.4G/BLE雙模切換時, 發現只要切到ble mode, 程式就會當掉, 查了一下才發現程式是當在static void ble_stack_init(void)這個function裡面.



2. 進去trace code後, 才發現是設定上的錯誤, 由於硬體板子上並沒有XTAL元件, 只要一進去ble_stack_init() function, 就會出現死當.



3. 因此我們必須將clock source由XTAL改為RC.


.rc_ctiv = 16, // Interval in 0.25 s, 16 * 0.25 = 4 sec
.rc_temp_ctiv = 2, // Check temperature every .rc_ctiv, but calibrate every .rc_temp_ctiv 
This configuration will set RC oscillator, and check for temperature delta every 4 second, and calibrate the RC every 8 second.
4. 修改完成.