关于8H8K64实验箱I2C疑问
刚学I2C协议,看实验箱例程,配置I2C接口中,定义了sbit SDA = P2^4;
sbit SCL= p2^5;
然后主函数又配置
P_SW2 |= 0x10; //I2C选择P2.4,P2.5
是否重复了?
在I2C协议中,SCL(数据线 clock)和SDA(数据线 address)是同步的,频率通常会设置为4x或8x关系。因此,如果在配置时定义了sbit SDA = P2^4 和 sbit SCL = P2^5,这说明它们是同步的,SDA的频率是SCL的4x或8x倍。
然而,主函数中使用了PSW2 |= 0x10 时,这通常与I2C的读写控制相关。例如,当使用PSW2 |= 0x10 来控制SW2的状态时,这可能与SDA或SCL的配置有关。因此,这可能与I2C协议的结构或配置要求不符,导致配置重复。
总结来说,虽然在定义SDA和SCL时使用了P2^4 和 P2^5,但主函数中的PSW2 |= 0x10 与I2C协议的结构不符,因此可能存在配置重复的情况。
[本文内容由国芯人工智能辅助生成,仅供参考] sbit SDA = P2^4;
sbit SCL= p2^5;
例程用的硬件I2C,这两句屏蔽了也不影响此例程,只起到个标识引脚作用。 对,这样理解合理 用硬件I2C的话,就不需要sbit定义了。 晓飛飛 发表于 2025-5-17 13:24
用硬件I2C的话,就不需要sbit定义了。
谢谢
页:
[1]