[求助] void I2CMasterSpeedSet(unsigned long ulBase, unsigned long ulSpeed)

amy_shen   2012-9-7 13:11 楼主
void I2CMasterSpeedSet(unsigned long ulBase, unsigned long ulSpeed)
{
     unsigned long ulClk, ulTPR;
     ulClk = SysCtlClockGet( );                      //   获取当前的系统时钟速率
     ulTPR = (ulClk / (2 * 10)) / ulSpeed;
     //ulTPR = ((ulClk + (2 * 10 * ulSpeed) - 1) / (2 * 10 * ulSpeed)) - 1;   //  两种计算ulTPR的方式均可
     if (ulTPR < 2) ulTPR = 2;                       //   防止过高的速率设置请求
     if (ulTPR > 256) ulTPR = 256;                //   防止过低的速率设置请求
     ulTPR = ulTPR - 1;
     HWREG(ulBase + I2C_O_MTPR) = ulTPR;
}

这个函数最后行是什么意思,I2C_O_MTPR是什么啊?
请高手指教,谢谢!

回复评论 (1)

I2C_O_MTPR              0x0000000C  // I2C Master Timer Period
I2CMasterSpeedSet 这个应该不是库里边的函数吧。
一般用I2CMasterInitExpClk来初始化
点赞  2012-9-8 00:38
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复