mirror of https://github.com/Desuuuu/klipper.git
atsam: Fix I2C bitrate
Multiplying the desired bitrate by 4 results in half the desired period and thus twice the desired bitrate. Signed-off-by: Alex Maclean <monkeh@monkeh.net>
This commit is contained in:
parent
01a223393e
commit
92ca111986
|
@ -49,7 +49,7 @@ i2c_init(Twi *p_twi, uint32_t rate)
|
|||
p_twi->TWI_CR = TWI_CR_MSEN;
|
||||
|
||||
uint32_t cldiv = 0, chdiv = 0, ckdiv = 0;
|
||||
cldiv = SystemCoreClock / ((rate > 384000 ? 384000 : rate) * 4) - 4;
|
||||
cldiv = SystemCoreClock / ((rate > 384000 ? 384000 : rate) * 2) - 4;
|
||||
|
||||
while ((cldiv > 255) && (ckdiv < 7)) {
|
||||
ckdiv++;
|
||||
|
@ -57,7 +57,7 @@ i2c_init(Twi *p_twi, uint32_t rate)
|
|||
}
|
||||
|
||||
if (rate > 348000) {
|
||||
chdiv = SystemCoreClock / ((2 * rate - 384000) * 4) - 4;
|
||||
chdiv = SystemCoreClock / ((2 * rate - 384000) * 2) - 4;
|
||||
while ((chdiv > 255) && (ckdiv < 7)) {
|
||||
ckdiv++;
|
||||
chdiv /= 2;
|
||||
|
|
Loading…
Reference in New Issue