大家好、团队、
如何为 I2C 主模块配置1MHz 时钟? 我看到您调用以下函数来配置主模块、但我如何将其传递为变量、以便时钟为1MHz。 我看到的唯一选项是100kKhz 和400kHz、基于布尔值作为功能的第三个选项。
I2CMasterInitExpClk (I2C2_base、getSysClockHz ()、true)
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.
大家好、团队、
如何为 I2C 主模块配置1MHz 时钟? 我看到您调用以下函数来配置主模块、但我如何将其传递为变量、以便时钟为1MHz。 我看到的唯一选项是100kKhz 和400kHz、基于布尔值作为功能的第三个选项。
I2CMasterInitExpClk (I2C2_base、getSysClockHz ()、true)
您好、Xiaodong、
这是我用作参考的文档:
https://www.ti.com/lit/an/slaa776/slaa776.pdf?ts=1597784786393
如果您搜索 I2CMasterInitExpClk、您将在文档中找到它。 不确定您的意思是 Drivelin 或 TI 驱动程序层。 在 code composer 中、我只需使用 I2C 头文件并调用这些函数来设置 I2C、但我不确定如何获得1MHz I2C 时钟。 上述函数 /*初始化和配置主模块*/ MAP_I2CMasterInitExpClk (I2C2_base、ui32SysClock、false);
根据布尔值 TRUE 或 FALSE 分别初始化100kHz 或400kHz 的主 I2C 模块。
您好、Julio、
我已经咨询了 I2C 主应用手册的作者。 我的最后一个答案来自他。
我在今天调用 MAP_I2CMasterInitExpClk 函数后检查了如何设置寄存器。
调用函数后只需要设置 MTPR 寄存器。
请查看 《MSP432E4 SimpleLink微控制器技术参考手册》(修订版 A) 第1321页的表19-1。
假设系统时钟为40MHz、则需要将 MTPR 寄存器编程为0x0000_0001。 谢谢!