新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 有關I2C占空比寄存器設置問題

有關I2C占空比寄存器設置問題

作者: 時間:2016-11-10 來源:網(wǎng)絡 收藏
疑問:

-----------------------------------------------------------------------
I2C0SCLH = (Fpclk/fi2c + 1) / 2;
I2C0SCLL = (Fpclk/fi2c)/2;
在I2C0SCLH = (Fpclk/fi2c+ 1) / 2;里,

本文引用地址:http://m.butianyuan.cn/article/201611/317314.htm

為什么是Fpclk/fi2c + 1而不是Fpclk/fi2c?
-----------------------------------------------------------------------

解答:
***********************************************************************
根據(jù)公式:I2SCLH + I2SCLL = Fpclk / Fbit(0)原始公式

在計算機的數(shù)字運算中,我們這樣做了:

I2SCLH = (Fpclk / Fbit + 1)/ 2(1)

I2SCLL = (Fpclk / Fbit)/ 2(2)

那么I2SCLH + I2SCLL = (Fpclk / Fbit + 1)/ 2 +(Fpclk / Fbit)/ 2(3)在計算機數(shù)字運算中兩項不能合并

為了證明我們這樣做是沒有問題的,在這里我們舉個例子進行說明:

假設I2SCLH + I2SCLL = Fpclk / Fbit = 5

只有這么做了:

I2SCLH = (Fpclk / Fbit + 1)/ 2 = 3

I2SCLL = (Fpclk / Fbit)/ 2 = 2

才能保證:

I2SCLH + I2SCLL = 5符合原始公式(0)。

如果像疑問中所說的那樣,I2SCLH + I2SCLL = (Fpclk / Fbit)/ 2 +(Fpclk / Fbit)/ 2 = 4,那么就和原始公式(0)不符了!



評論


技術專區(qū)

關閉