欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 這三條C語言賦值語句的目的是干什么? [打印本頁]

作者: QWE4562012    時間: 2020-7-26 17:45
標題: 這三條C語言賦值語句的目的是干什么?
這三條賦值語句的目的是干什么?

51hei圖片20200726174208.png (287.56 KB, 下載次數: 64)

51hei圖片20200726174208.png

51hei圖片20200726174217.png (395.45 KB, 下載次數: 64)

51hei圖片20200726174217.png

51hei圖片20200726174202.png (275.3 KB, 下載次數: 65)

51hei圖片20200726174202.png

作者: linpx    時間: 2020-7-26 21:08
位運算 左移
作者: lyxing    時間: 2020-7-26 21:40
這個應是模擬I2C總線傳輸數據流程,可以參考I2C總線傳輸協議。第一圖SDA拉高延時,第二圖發送一位數據,第三圖接收一位數據后,與K合并,完成一字節的接收。
作者: windows100    時間: 2020-7-26 22:31
本帖最后由 windows100 于 2020-7-26 22:37 編輯

第一張圖是說,SDA為高則總線不忙退出,或者程序自加(起延時作用)溢出。第二張圖是,寫sda高低,通過參數傳遞
第三張圖是,把每一次讀回來的一個位 或操作,理解為讀一個位。你應該還有個for循環沒有截圖進來。
不要追問了,我不一定按時回答

作者: TTQ001    時間: 2020-7-26 23:53
首先,I2C SDA高且變量i不大于255,請保持遞增。 第二,將SDA設置為CY(高或低); 第三,將SDA讀取到j,K右移1位并與j結合;
作者: mm201    時間: 2020-7-26 23:59
第一張圖是說,SDA為高,程序自加(起延時作用)溢出。第二張圖是,寫sda高低,通過參數傳遞
第三張圖是,把每一次讀回來的一個位 或操作,理解為讀一個位。
作者: QWE4562012    時間: 2020-7-27 11:50
mm201 發表于 2020-7-26 23:59
第一張圖是說,SDA為高,程序自加(起延時作用)溢出。第二張圖是,寫sda高低,通過參數傳遞
第三張圖是, ...

您好,為什么是255呢
作者: QWE4562012    時間: 2020-7-27 11:52
lyxing 發表于 2020-7-26 21:40
這個應是模擬I2C總線傳輸數據流程,可以參考I2C總線傳輸協議。第一圖SDA拉高延時,第二圖發送一位數據,第 ...

直接發一個字節按八次發不就行了嗎?他這樣做很麻煩啊
作者: QWE4562012    時間: 2020-7-27 11:54
mm201 發表于 2020-7-26 23:59
第一張圖是說,SDA為高,程序自加(起延時作用)溢出。第二張圖是,寫sda高低,通過參數傳遞
第三張圖是, ...

CY是寄存器的一個高位符號  給到SDA好抽象啊
作者: QWE4562012    時間: 2020-7-27 12:04
TTQ001 發表于 2020-7-26 23:53
首先,I2C SDA高且變量i不大于255,請保持遞增。 第二,將SDA設置為CY(高或低); 第三,將SDA讀取到j,K ...

將SDA讀取到j,K右移1位并與j結合;-----------------你講下這個具體是怎么運算的好不
作者: 土豆西紅柿    時間: 2020-7-27 15:00
QWE4562012 發表于 2020-7-27 12:04
將SDA讀取到j,K右移1位并與j結合;-----------------你講下這個具體是怎么運算的好不

k先左移1位,然后位運算或上j的值,最后在賦值給k
作者: gbchang    時間: 2020-7-27 15:16
這明顯是 模擬方式發送 IIC 字節呀。在 C 語言中調用 CY 寄存器,是個有深度的想法。設計者對MCU底層匯編還是比較在行的。
作者: QWE4562012    時間: 2020-7-27 15:49
土豆西紅柿 發表于 2020-7-27 15:00
k先左移1位,然后位運算或上j的值,最后在賦值給k

這個j是多少
作者: gbchang    時間: 2020-7-27 15:52
QWE4562012 發表于 2020-7-27 15:49
這個j是多少

j 的值是sda,sda是一個管腳,值可能是 1 或者 0
作者: gbchang    時間: 2020-7-27 15:56
其實,樓主應該問, 這個 CY 是干什么的,在什么地方定義的。這樣才符合I2C提問的常規場景。
作者: QWE4562012    時間: 2020-7-27 18:19
gbchang 發表于 2020-7-27 15:56
其實,樓主應該問, 這個 CY 是干什么的,在什么地方定義的。這樣才符合I2C提問的常規場景。

51單片機Cy位即baiPSW.7,是51單片機算數運算du中的進位借位標zhi志,根據算數運算結果由系統置位或復位dao,也可以編程置位或復位。置位指令為:SETB C;復位指令為CLR C。
作者: QWE4562012    時間: 2020-7-27 18:21
gbchang 發表于 2020-7-27 15:52
j 的值是sda,sda是一個管腳,值可能是 1 或者 0

那K左移一位再火上0或者1 是什么目的
作者: gbchang    時間: 2020-7-28 08:35
QWE4562012 發表于 2020-7-27 18:21
那K左移一位再火上0或者1 是什么目的

接收數據
作者: gbchang    時間: 2020-7-28 08:51
QWE4562012 發表于 2020-7-27 18:19
51單片機Cy位即baiPSW.7,是51單片機算數運算du中的進位借位標zhi志,根據算數運算結果由系統置位或復位d ...

在這里,CY是移位運算時,移出累加器的那個位,進入CY
作者: gbchang    時間: 2020-7-28 08:53
QWE4562012 發表于 2020-7-27 18:19
51單片機Cy位即baiPSW.7,是51單片機算數運算du中的進位借位標zhi志,根據算數運算結果由系統置位或復位d ...

在這段程序里,CY是移位操作時,移出累加器的那個位,
這段話,對這段程序理解沒有任何幫助。
作者: Y_G_G    時間: 2020-7-28 09:01
問題1:這是IIC通訊中的的等待響應程序,沒有什么是"255",你喜歡的話可以是12345或者是655353555,這個是作者自己寫,就是查詢255次,看IIC接收器有沒有響應,這并不是一個嚴謹的程序
問題2:這個是IIC的寫入
問題3:這個是IIC的讀取
2和3原理是一樣的,但你并沒有認真看數字電路方面的東西,這個屬于移位寄存器這一塊的
對于單片機編程,基礎很重要,而且基礎要花很多時間去學,不然,你看后面的代碼基本是沒有一句你能真正理解的,你要是理解了,也就是好像明白它在說什么而已,實際上,你看了那么久的C語言,估計是一點用都沒有
作者: QWE4562012    時間: 2020-7-28 18:10
Y_G_G 發表于 2020-7-28 09:01
問題1:這是IIC通訊中的的等待響應程序,沒有什么是"255",你喜歡的話可以是12345或者是655353555,這個是作者 ...

你現在有自己做產品不   用C語言
作者: Y_G_G    時間: 2020-7-28 20:40
QWE4562012 發表于 2020-7-28 18:10
你現在有自己做產品不   用C語言

C我不會,我只會匯編
作者: chaos2005    時間: 2020-7-29 08:06
254或256也可以, 差不多一小段時間




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1