最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

單片機應(yīng)用實踐篇之單片機IO模擬I2C總線時序按頁寫24C02并顯示在LC...

2023-07-26 19:25 作者:無數(shù)碎片尋你  | 我要投稿

問:if(addr&Page_bye==0) 看不懂這個, 如何判斷出寫了八個字節(jié)呢


答:這一行代碼中的 if(addr&Page_bye==0) 是用來判斷是否已經(jīng)寫入了8個字節(jié)。addr 是當前寫入的地址,Page_bye 是一個宏變量,其值為 0x07。& 是按位與運算符,它將 addr 和 Page_bye 的二進制表示進行按位與運算。

由于 Page_bye 的值為 0x07,它的二進制表示為 00000111。當 addr 的二進制表示的最后三位都為0時,addr & Page_bye 的結(jié)果為0。這意味著 addr 是8的倍數(shù),即已經(jīng)寫入了8個字節(jié)。

因此,當 addr & Page_bye == 0 時,意味著已經(jīng)寫入了8個字節(jié),此時會退出內(nèi)循環(huán)并開始寫入下一頁的數(shù)據(jù)。


問:那么 addr的初值, 是不是有限制了,

答:是的,addr 的初始值會影響這個函數(shù)的行為。addr 是函數(shù)的第二個參數(shù),表示要寫入數(shù)據(jù)的起始地址。如果 addr 的初始值不是8的倍數(shù),那么第一次寫入數(shù)據(jù)時不會寫滿8個字節(jié)。

例如,如果 addr 的初始值為3,那么第一次寫入數(shù)據(jù)時只會寫入5個字節(jié)(地址3、4、5、6和7),然后退出內(nèi)循環(huán)并開始寫入下一頁的數(shù)據(jù)。這是因為當 addr 增加到8時,addr & Page_bye == 0 為真,導(dǎo)致退出內(nèi)循環(huán)。

因此,如果您希望每次都寫滿8個字節(jié),那么應(yīng)該確保 addr 的初始值是8的倍數(shù)。


問:if(addr&Page_bye==0) 這樣做, 是不是相當于 分頁了, 因為這完全是把 256 分成 每頁為 8個字節(jié), 然后很巧妙的 , 按照這個去寫入每頁, 而不是 8 個必須湊成所謂的一頁 , 而是根據(jù)256 這個進行寫入

答:是的,這個函數(shù)會按照頁大?。?個字節(jié))來寫入數(shù)據(jù)。addr & Page_bye == 0 這個條件用來判斷是否已經(jīng)寫滿了一頁。當這個條件為真時,意味著已經(jīng)寫滿了一頁,此時會退出內(nèi)循環(huán)并開始寫入下一頁的數(shù)據(jù)。

這樣做可以確保每次寫入的數(shù)據(jù)都是按照頁大小對齊的。這對于某些I2C設(shè)備來說是很重要的,因為它們要求寫入數(shù)據(jù)時必須按照頁大小對齊。

當然,這并不意味著每次都必須寫滿一頁。如果要寫入的數(shù)據(jù)不足一頁,那么函數(shù)會正常寫入數(shù)據(jù)并返回。只有當要寫入的數(shù)據(jù)超過一頁時,才會按照頁大小對齊來寫入數(shù)據(jù)。


單片機應(yīng)用實踐篇之單片機IO模擬I2C總線時序按頁寫24C02并顯示在LC...的評論 (共 條)

分享到微博請遵守國家法律
高清| 开化县| 武城县| 廊坊市| 桂林市| 柳州市| 沙湾县| 涿鹿县| 栾城县| 蓬溪县| 射洪县| 海盐县| 彰化市| 榕江县| 天柱县| 临沧市| 会泽县| 建始县| 四子王旗| 南充市| 施秉县| 镇雄县| 瑞金市| 定安县| 三都| 措美县| 左权县| 新民市| 扶沟县| 孟连| 盈江县| 额尔古纳市| 西林县| 彝良县| 洱源县| 台江县| 自贡市| 屏东县| 靖远县| 遂宁市| 闻喜县|