IIC总线数据传输流程分析

发布于 2022-09-18 19:06:35 字数 2279 浏览 15 评论 0

这些天研究IIC 总线,得到论坛很多大虾的帮助,谢谢你们的无私,才让我们这样的新手能得到提高. 本着班门弄斧的精神,把自己的学习经验共享出来,以供更多的新手能够少走一些弯路. 里面可能也会有错误,希望指正.谢谢. 别笑我哈,我是新手.呵呵

因为I2C.DEV 中的IOCTL 函数就能完成IIC总线的读写数据,因此
首先分析I2C.DEV 中的 ioctl 函数,
=========两个重要的结构体==============

struct i2c_msg {
 __u16 addr; /* slave address   */
 __u16 flags;
#define I2C_M_TEN 0x10 /* we have a ten bit chip address */
#define I2C_M_RD 0x01
#define I2C_M_NOSTART 0x4000
#define I2C_M_REV_DIR_ADDR 0x2000
#define I2C_M_IGNORE_NAK 0x1000
#define I2C_M_NO_RD_ACK  0x0800
#define I2C_M_RECV_LEN  0x0400 /* length will be first received byte */
 __u16 len;  /* msg length    */
 __u8 *buf;  /* pointer to msg data   */
};
 
struct i2c_rdwr_ioctl_data {
 struct i2c_msg __user *msgs; /* pointers to i2c_msgs */
 __u32 nmsgs;   /* number of i2c_msgs */
};

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

小耗子 2022-09-25 19:06:35

我以为是协议分析呢, 你这个是Linux下I2C驱动和应用程序分析。多谢共享.

[ 本帖最后由 yidou 于 2009-3-13 21:11 编辑 ]

断桥再见 2022-09-25 19:06:35

写得不错,呵呵

活雷疯 2022-09-25 19:06:35

正在弄iic,头晕目眩的,呜呜,谢谢楼主~~

日记撕了你也走了 2022-09-25 19:06:35

  为什么这么多这个符号呢?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文