用示波器量I2C 信号

I2C client 挂到 adapter之后,就可以通过I2C 读写命令开始 读写设备寄存器了。
 
读写的时候,都可以用示波器量出来I2C CLK 和I2C data信号的,甚至可以读出 data信号上的,传输的设备地址和数据。
 
有趣的是,开始的时候,把示波器信号周期调的比较大,比如500ms,这时候,测量音频Codec I2C总线上信号,居然量不到信号,而点触摸屏的时候就可以测到I2C 总线上有数据波动。(好多设备都是连载同一条I2C总线上的)。 后来才发现原来的把示波器周期调小到us级,改用触发方式,就可以捕捉到I2C设备上的信号了。
 
具体做法,可以添加以下代码,生成sys/class/i2c-adapter/* 下面的节点reg和val 。
 
reg --- 要读写的 I2C 设备寄存器地址
val --- reg里面的值
static unsigned long sys_reg;
static ssize_t sys_reg_show(struct device *dev,
                   struct device_attribute * attr,char * buf)
{
    printk(" reg show : sys_reg = %d\n", sys_reg);
    return snprintf(buf,PAGE_SIZE, "%x", (u32)sys_reg);
}
static ssize_t sys_reg_store(struct de
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值