三个Solution
a. 加大LDO让VDD3.3V稳定供电
b. I2C3先初始化SCL再SDA。虽然datasheet没写此限制,但sample code确实依照此顺序执行初始化。
c. 为确保Codec在I2C3 初始化时有正常电压(VDD3.3v=3.3v),将VDD3.3V移到I2C3初始化之前
Pre-ES1没问题是因为
a. Pre-ES1 LDO较强力,无供电问题
b. Pre-ES1的VDD3.3v无法由MCU开关,而是由stby3.3v稳定供电,因此无SCL/SDA 2.7V问题
c. Pre-ES1只用I2C1,没用I2C3。I2C1两根pin在同一个GPIO group,无SCL/SDA初始化顺序问题