When attempting to enable the external crystal within the smartBASIC code using BleConfigHfClock(1), why does it not change to high speed when calling SYSINFO(2082)?
It is
important to note there are two clock sources, a High Frequency (HF) Clock
source, which is used for clocking the system, and a Low Frequency (LF) Clock
which is primarily used for Sleep Mode. Each of these have options of using an
internal oscillator on the chip, or the specified crystal.
The external 32 MHz crystal for the HF Clock is included on the
module, while the external 32 KHz crystal is an optional LF Clock source which
is NOT included on the module. The optional crystal for the LF Clock source
provides improved protocol timing and helps with radio power consumption when
the radio is in standby doze/deep sleep, by reducing the time that the Rx
window needs to be open.
The BleConfigHfClock() function
within the smartBASIC application is used to select the High Frequency Clock, which is the system clock.
This is the 32MHz crystal, and it can be selected using this BleConfigHfClock()
function.
This is different than the optional external 32kHz Crystal,
which is used as the Low Frequency Clock source. This crystal is typically used
for sleep modes. This can only be selected using the AT+CFG 210 and
cannot be configured within the smartBASIC application. SysInfo 2082 is used to return the Low Frequency
Clock configuration, therefore, it is not affiliated with the High Frequency
Clock setting.