工具/软件:
当引导程序跳转到应用程序时、不会调用 cdd_I2C_DeInit();
引导中 IIC 的配置为:
I2C_ICPSC=7;
I2C_ICCLKL=9;
I2C_ICCLKH=9;
应用程序中 IIC 的配置如下:
I2C_ICPSC=0xB;
I2C_ICCLKL=5;
I2C_ICCLKH=5;
此时、在测试 IIC 频率时、发现启动时为 380kHz、应用时为 520kHz。
在相同的配置下,当引导跳转到应用程序时,调用 cdd_I2C_DeInit();此时,测试 IIC 频率时,发现它在引导时为 380kHz ,在应用程序中为 360kHz。
我们发现这种现象是由 CDD_I2C_DeInit() 中的 IRS 配置引起的。 调用 cdd_I2C_DeInit() 后、IRS=0;此时这是正常的。
当 BOOT 跳转到应用程序时、如果未调用 CDD_I2C_DeInit()、即当 IRS=1 时、三个寄存器 I2C_ICPSC、I2C_ICCLKL 和 I2C_ICCLKH 被修改、修改此时不应生效。 为什么频率更改为 520kHz?



