我需要在 Fedora 操作系统中的 I2c 上发送原始数据缓冲区

问题描述 投票:0回答:1

我需要将字符缓冲区发送到 fedora 操作系统上的 i2c。 我正在使用以下代码:

file = open(path, O_RDWR);
union i2c_smbus_data dt[3];
dt[0].byte = 0xe7 ; 
dt[1].byte = 0x3f ; 
dt[2].byte = 0x00 ; 
args.read_write = I2C_SMBUS_WRITE;
args.command = 0x0d;
args.size = 4;
args.data = dt;
ioctl(file,I2C_SMBUS,&args);

它似乎只能工作最多 3 个字节,然后我不确定它发送什么。 有没有我可以使用的代码? 谢谢,

c fedora ioctl
1个回答
1
投票

事实证明,我可以在使用 ioctl 设置设备地址后直接使用

write(file, *buff , int len)
函数将缓冲区发送到
/dev/i2c-..
设备。

© www.soinside.com 2019 - 2024. All rights reserved.