杰理AC791外设IIC学习有问题记录(暂未解决,下次再搞)

在这里插入图片描述

这个宏找不到

在这里插入图片描述
把这个测试测试代码烧录进去,打印如下,借用claude分析

根据您提供的日志,我发现了一些问题:

  1. IIC初始化成功:

    [00:00:00.178]IIC Test: Opened IIC device
    

    这表明IIC设备成功打开。

  2. 尝试读取设备ID:

    [00:00:00.190]IIC Test: Reading device ID from address 0xf0
    

    代码尝试从地址0xf0读取设备ID。

  3. IIC通信错误:

    [00:00:00.200]IIC Read: Starting IIC transaction
    [00:00:00.200]iic write err in IIC_IOCTL_TX_WITH_START_BIT
    

    这里出现了一个错误。在尝试发送起始位和写地址命令时失败了。

主要问题:
IIC通信在尝试读取设备ID时失败了。具体来说,在发送起始位和写地址命令(IIC_WRCMD,值为0x42)时出现了错误。

可能的原因:

  1. 硬件连接问题:检查IIC总线的SDA和SCL线是否正确连接,是否有松动或短路。
  2. 设备地址不正确:确认设备的7位地址是否正确(当前使用的是0x21,因为0x42右移一位)。
  3. 设备未就绪:某些设备可能需要一定的启动时间。
  4. 时序问题:IIC通信的时序可能不满足设备要求。
  5. 总线占用:其他设备可能正在使用IIC总线。

建议的下一步:
6. 检查硬件连接,确保SDA和SCL线连接正确且稳定。:我这个测试代码应该是不需要链接的
8. 验证设备地址是否正确。:我怀疑是地址错误
9. 在进行IIC操作前增加一个较长的延时,给设备充足的启动时间。
10. 检查IIC的时钟速度设置,尝试降低速度看是否能够通信。
11. 使用示波器观察IIC总线的实际信号,看是否符合IIC协议的要求。
12. 如果可能,尝试在代码中添加更多的调试信息,特别是在每个IIC操作之前和之后。

先搁置吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值