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.

[参考译文] Starterware/AM3358-EP:所有搜索结果

Guru**** 2587365 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/593215/starterware-am3358-ep-all-search-results

器件型号:AM3358-EP

工具/软件:Starterware

您好,

我的客户提出的一个问题是有关 StarterWare 中的 I2C 时钟软件配置的问题。 感谢你的帮助!

/*********
*                       API 函数定义
秘书长的报告 /

/**
 *\brief  此 API 将对馈入 I2C 模块的系统时钟进行分频
 *         12和100Mhz。它还将配置 I2C 总线时钟频率。
 *
 *\param  baseAdd    这是所用 I2C 实例的存储器地址。
 *\param  SYSCLK     这是馈送到 I2C 模块的系统时钟。
 *\param  internalClk 这是 I2C 模块使用的内部时钟、即
 *                     通过调节馈入 I2C 模块的系统时钟获得。
 *\param  outputClk  这是所需的 I2C 总线速度或频率。
 *
 *\返回 无。
 **/  
void I2CMasterInitExpClk (unsigned int baseAdd、unsigned int SYSCLK、
                        unsigned int internalClk、unsigned int outputClk)

   unsigned int 预分频器;
   unsigned int 分频器;

   /*计算预分频值*/
   预分频器=(SYSCLK /内部时钟)- 1;

   HWREG (baseAdd + I2C_PSC)=预分频器;

   分频器= internalClk/outputClk;

   分频器=分频器/2;

   HWREG (baseAdd + I2C_SCLL)=分频器- 7;

   HWREG (baseADD + I2C_SCLH)=分频器- 5;  


   分压器=分压器/2; 为什么需要  将驱动器分为两个分压器?

我n‘t 了所有数据表、但我无法回答。  有寄存器 I2C_SCLL 的说明

快速/标准模式 SCL 低电平时间。
仅 I2C 主模式、(FS)。
当时、这个8位值被用来生成 SCL 低电平时间值(Tlow)
外设在主控模式下运行。
低电平=(SCLL + 7)* ICLK 时间周期、复位后的值为低电平(全部为8
位)