Hello,In an example code for I2C i have saw these two lines.
Code:
CMU_ClockEnable(cmuClock_HFLE, true);
// Starting LFXO and waiting until it is stable
CMU_OscillatorEnable(cmuOsc_LFXO, true, true);
from chapter 11 page 280 of the reference manual of EFR32FG14 shown bellow we have the clock logic.
from page 488 shown bellow in the reference manual for I2C i need to use clock of at least 2MHz of HFPERCLK.
I cant see this type of clock but i see HFRCO which is 1M-38MHz as shown bellow.
from 11.3.2.1.3 we need to enable it in CMU_OSCENCMD by default its 19MHZ.
In page 328 as shown bellow i see how to enable it .
How do i reduce the default 19MHz to 2Mhz? (as needed for standart I2C)
Thanks.
There's no absolutely no reason to reduce the clock frequency. According to the posted handbook snippet, the clock should be minimal 2 Hz, not maximal.
Hello FVM, that is the problem if i enable HFRCO by default i get alot above (19MHZ) i need to use divide this number by 4 at least.
from page 349 shown bellow i think we need to change cmu_presc register 24bit to 1 to divide it by 4.
it seems from the diagram shown bellow in page page 281 that my clock goes threw
the odd thing is that there is no "dont divide the clock frequency" it either will divide it by 2 or divide it by 4.
how do i set the original HFRCO without being divided by prescaler ?
How do i choose signal_1 (in the diagram) instead of signal_2 (in the diagram) for my I2C communications.
Thanks.