This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/CC1310:传感器控制器软件中的 I2C 地址与放大器问题;fwDelayUS

Guru**** 2404245 points
Other Parts Discussed in Thread: HDC1080

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/917754/ccs-cc1310-issue-with-i2c-adress-fwdelayus-in-sensor-controller-software

器件型号:CC1310
主题中讨论的其他器件:HDC1080

工具/软件:Code Composer Studio

您好!

我使用传感器控制器从 HDC1080读取温度、我首先在正常的 TIRTOS 任务中实施了测试代码、一切都运行良好。 之后、我注释掉了任务中的所有代码、并移至传感器控制器 Ctudio。

目前我有几个问题:

  1. 为什么必须是从器件的 I2C 地址乘以2、这样才能得到正确的示例。 0x40到0x80?
  2. 为什么下面的 fwDelaysU 功能在两个 I2C 操作之间不能正常工作? 在示波器上、我只看到第一次操作、然后停止、当我移除 fwDelayUS 函数时、我看到两次操作。两次操作之间的延迟是强制性的。
//首次操作 
i2cStart(); i2cTx (0x80 | I2C_OP_WRITE); i2cTx (0x00); i2cStop(); fwDelayU (4000、FW_DELAY_RANGE_5_MS);
//第二个操作 i2cStart (); i2cTx (0x80 | I2C_OP_Read); i2cRxAck (temp); i2cRxAck (output.temperature[n]); i2cStop ();

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    问题已解决。

    我忘了在我的 OSCi 上更改时间基准、我在上午的 xD 上没有喝咖啡

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    所有问题是否都得到解决?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好

    与地址有关的问题不存在、但通过乘以系数2、我可以向设备发送消息。

    此致

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    SchuckPro69您好、  

    是的、这似乎是将7位地址转换为8位写入值的最高有效部分的方法。