1

您好,我正在查看此文档。 https://www.kernel.org/doc/html/v4.11/driver-api/i2c.html 我的目标只是使用 I2C 总线将一些数据写入 EEPROM。我对使用哪些函数以及如何填充这些函数所需的结构有点困惑。我的猜测是我需要创建一个 i2c_client 来代表 EEPROM。我有这个设备树中 EEPROM 的位置。

&i2c0 {
    status = "okay";
    clock-frequency = <400000>;
    pinctrl-names = "default";

    i2cswitch@74 {
        compatible = "nxp,pca9548";
        #address-cells = <1>;
        #size-cells = <0>;
        reg = <0x74>;

        i2c@2 {
            #address-cells = <1>;
            #size-cells = <0>;
            reg = <2>;
            eeprom@54 {
                compatible = "at,24c08";
                reg = <0x54>;
            };
        };
    };
};

我将如何用这些数据填充 i2c_client 结构?

然后我猜我会使用这个功能

int i2c_master_send(const struct i2c_client * client, const char * buf, int count)

并为它提供客户端结构和我要编写的字符串以及该字符串的长度,并规定它小于 64k。在这种情况下CPU是主控吗?

我需要包含哪些头文件才能使用文档提供的函数和结构?

谢谢。

4

0 回答 0