Thread 中讨论的其他部件:SysConfig、 CC3200
我有一个 I2C 器件、当位速率设置为100kHz 时容易出错。 我正在使用用于示例程序的 I2C 接口、设置低于100kHz 的速度没有任何枚举。 我是否可以使用其他接口或流程来达到50kHz?
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.
尊敬的 David:
没有示例说明如何使用 TI 驱动程序和 SysConfig 为 I2C 设置自定义波特率。 因为在这个包装器层内没有直接支持。 如果为 SysConfig 最初配置的 I2C 外设设置自定义波特率、可能会导致一些副作用、尤其是在使用省电模式时。 实施将由您决定。
有用资源:
1月
我找到了您在我的 CCS 项目中提到的文件。 但是、当我添加了一个断点进行调试时、代码显示不在任何已加载的符号中、因此似乎该文件未加载到我的项目中。 我使用搜索工具来查找 I2CMasterInitExpClk()函数、CCS 无法在任何位置找到它、即使我可以在项目浏览器的目录中看到它。 因此、TI 驱动程序似乎不使用该文件来设置时钟的寄存器。
我看到您提到的文件具有用于修改寄存器的函数、但我不知道如何获取 i2c 寄存器的基址或地址信息、因为打开声明不会在任何地方引导。 是否有任何在该级别工作的示例? 我可以在 SDK 中找到的所有示例似乎都是针对高级而不是针对此低级内容。 我也不知道如何在调试器中查看寄存器、因此我将执行盲操作。 用于 ARM 器件的调试器看起来与 MSP430不同。 我们非常感谢您的任何建议。
感谢你能抽出时间、
David
尊敬的 David:
是的、预计位于\source\ti\devices\cc32xx\driverlib\的文件中的断点不能正常工作。 TI 驱动程序使用 I2CMasterInitExpClk()等内部 driverlib 函数。 有人使用 CC32xx ROM 中的 drivelib 函数。 有关更多详细信息、请参阅帮助文件\docs\cc32xx\cC32xx_rom_services.html。
在 TRM 中找到的每个外设的基地址。 例如、对于 I2C、它为0x40020000 (头文件 hw_memmap.h 上的 I2CA0_BASE)。 没有示例说明如何使用 CC32xx SDK 内 driverlib 驱动程序的直接寄存器访问。 这就是您从上述 Sarah 那里得到此类回答的原因(SDK 中没有示例、TI 方面也没有直接支持)。 如果您希望在调试期间查看 I2C 寄存器的内容、可以在寄存器的特定地址使用存储器视图。 如果您想查看包含 driverlib 的 I2C 示例、可以查看 CC3200 SDK (适用于上一代器件的 SDK - CC3200)中的 i2c 示例。 请注意、此 SDK 与 CC3220SF 不兼容。 I2C 外设在 CC3200和 CC3220SF 是相同的、您可以使用该代码作为灵感来源。
我认为您有两个选择:
1月