嗨,对话框中,
我想问一些关于I2C时钟(SCL)的问题。
Q1: SCL是用户写I2C寄存器从EEPROM下载FW代码时自动生成的?
Q2:在空闲状态下,SCL输出保持HiZ?(因为这个引脚是打开的排水缓冲)
Q3:当用户执行i2c_eeprom_release()时,SCL也保持为HiZ?
空白i2c_eeprom_release(空白)
{
SetWord16 (I2C_ENABLE_REG 0 x0);//关闭I2C控制器
SetBits16 (CLK_PER_REG I2C_ENABLE 0);//关闭I2C时钟
}
最好的问候,
日本
设备:
嗨yterasaki,
1.一旦主服务器满足启动条件,就会生成SCL时钟。
2.当总线空闲时,SCL和SDA信号都通过总线上的外部上拉电阻拉高。
3.当用户执行释放命令时,时钟被禁用,两行从引体向上返回到高。
由于MT_dialog
由于对话框,
我明白你的意思,我的大部分担忧也已经解决了,但我还想再问一个问题。
我观察到睡眠电流超过规格,并发现泄漏电流通过拉起运行到SCL引脚
电阻。(源代码是Beacon 3.40.6的参考设计,我没有改变任何代码)这是因为SCL引脚被重新配置
FW代码从I2C EEPROM下载后,作为“下拉输入”。
我的问题是SCL配置何时从输出缓冲区(SCL)更改为输入缓冲区。我认为有两种可能,即
1: HW或软件复位初始化引脚配置(下拉输入初始引脚配置)
2:罗?或引导加载程序?在FW下载完成时重新配置引脚,main_func()开始执行。
我找不到既不大于1也不大于2的代码。
最好的问候,
嗨yterasaki,
通过I2C引导时,引导加载程序和辅助引导加载程序从内存中读取二进制文件并启动应用程序后,将SCL_PIN设置为INPUT_PULLDOWN状态。
由于MT_dialog
谢谢对话工作人员,一切都清楚了。可能参考代码被改变,重新配置SCL引脚作为输出或输入与上拉
开始代码后,睡眠电流保持小。
最好的问候,
嗨yterasaki,
是的,我相信你能做到。只要配置你的GPIO到你想要的状态,当你的FW启动。
由于MT_dialog