The CSR1010 clock seems very accurate in some circumstances but becomes very inaccurate once the Bluetooth radio starts. Why is this and how do I fix it?
I have code which calls TimeGet48WithOffset() and converts the microseconds into a time and date. It does this by recording
the time the clock was "set", the value of the 48-bit system timer at that time, and then performing arithmetic when I want to know the time.
I can set a timer to wake up the CSR1010 every 10 minutes and print the time. This works very accurately (less than 1 second error over 24 hours). It provides me the RTC I need.
However when I start the BLE radio advertising the clock starts to lose time, badly. A clock that was correct at 3pm has lost 6 minutes by 5pm.
Why is the 48-bit timer losing time, and how can I adjust for this?
Alternatively, is there any way I can read a counter that the 32768 updates?
Thanks - Charles