Code: Select all
Thread [1] (Suspended: Signal 'SIGINT' received. Description: Interrupt.)
5 chSysHalt() core_cmFunc.h:342 0x08001018
4 i2c_lld_set_clock() i2c_lld.c:188 0x08001018
3 i2c_lld_start() i2c_lld.c:629 0x08001018
2 i2cStart() i2c.c:105 0x08001018
1 main() main.c:253 0x08001018
at
Code: Select all
osalDbgAssert((STM32_PCLK1 % (clock_speed * 25)) == 0,
"PCLK1 must be divided without remainder");
with
Code: Select all
static const I2CConfig i2cfg1 = { OPMODE_I2C, 400000, FAST_DUTY_CYCLE_16_9 }
@24MHz clock
With:
Code: Select all
static const I2CConfig i2cfg1 = { OPMODE_I2C, 400000, FAST_DUTY_CYCLE_2 }
I get always:
Code: Select all
Thread [1] (Suspended: Signal 'SIGINT' received. Description: Interrupt.)
7 chSysHalt() core_cmFunc.h:342 0x08002dfc
6 _dbg_check_lock() chdebug.c:119 0x08002dfc
5 chSysLock() chsys.h:290 0x0800322c
4 i2c_lld_master_transmit_timeout() osal.h:377 0x0800322c
3 i2cMasterTransmitTimeout() i2c.c:189 0x080009ca
2 RTC_PCF8563_isrunning() chTinyRTC8563.c:165 0x080009ca
1 main() main.c:260 0x080009ca