欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
51單片機(jī)I2C總線初始化為什么要加延時(shí)?
[打印本頁(yè)]
作者:
滄興電子
時(shí)間:
2020-7-13 15:01
標(biāo)題:
51單片機(jī)I2C總線初始化為什么要加延時(shí)?
在郭老師51單片機(jī)教材中,關(guān)于 51單片機(jī)I2C總線初始化時(shí),SCL=1;delay();//幾微妙延時(shí);SDA=1;delay();//幾微妙延時(shí)。這兩個(gè)幾微妙延時(shí)函數(shù)有作用嗎?特別是第一個(gè)延時(shí)函數(shù)感覺(jué)沒(méi)有任何作用。初學(xué)小白希望各位師傅指導(dǎo)。
作者:
xuyaqi
時(shí)間:
2020-7-13 15:49
對(duì)照手冊(cè)時(shí)序圖看程序就會(huì)明白,權(quán)威不一定樣樣都是對(duì)的。
作者:
草草111111
時(shí)間:
2020-7-13 16:08
看時(shí)序圖就知道了呀,這是為了保證在時(shí)鐘線為高電平的情況下,然后把數(shù)據(jù)線拉高
作者:
heaver
時(shí)間:
2020-7-13 16:11
延時(shí)是保證拉高拉低時(shí)間大于設(shè)備接口時(shí)序要求的時(shí)間,因?yàn)闀r(shí)序要求高低保持時(shí)間是有要求的,如果你執(zhí)行太快,設(shè)備還沒(méi)檢測(cè)到,就過(guò)去了,那就錯(cuò)了。
追問(wèn)
它的作用是什么呢:
(1)延遲一會(huì)才執(zhí)行下一條語(yǔ)句。
(2)保持上一條語(yǔ)句一會(huì)兒。
作用是哪一條呢?(1)還是(2)?
追答
作用主要是(2),使上一條指令保持時(shí)間夠了,再執(zhí)行下一條語(yǔ)句
加不加延時(shí)和你的I2C設(shè)備的反應(yīng)速度有關(guān)系,一般都是要加的,普通i2c設(shè)備的start時(shí)間為幾個(gè)uS,保持時(shí)間也是幾個(gè)us,主要要保持i2c總線是時(shí)序時(shí)間是合理的,比如pcf8583這個(gè)芯片他開(kāi)始時(shí)序的SDA=1升起時(shí)間是4.7uS,SDA=1保持時(shí)間是4uS,然后才能使SCL=1,然后將SDA=0,這時(shí)設(shè)備接收到這過(guò)程就認(rèn)為開(kāi)始。
作者:
Y_G_G
時(shí)間:
2020-7-13 20:52
1:delay();是C語(yǔ)言中的幾,而不是實(shí)際指令的幾,編譯之后可能是10或者是8,沒(méi)玩過(guò),就不確定,delay();與實(shí)際執(zhí)行時(shí)間沒(méi)有等號(hào)關(guān)系
2:就算是5uS,那也是是足夠了,你看一下延時(shí)的函數(shù)在一個(gè)時(shí)鐘中是有兩次的,整個(gè)時(shí)鐘的周期加上指令周期,它是大于十幾u(yù)S的,對(duì)于標(biāo)準(zhǔn)的IIC時(shí)鐘(100KHZ),就足夠了
3:加延時(shí)的目的是讓IIC器件有時(shí)間響應(yīng)數(shù)據(jù),IIC讀取數(shù)據(jù)是要一定時(shí)間的,時(shí)間不足夠,就可能出現(xiàn)錯(cuò)誤,具體參數(shù)可以隨便找個(gè)24C01來(lái)看一下就知道了
作者:
權(quán)威人物
時(shí)間:
2020-7-15 11:23
https://blog.csdn.net/super828/article/details/91345151
仔細(xì)認(rèn)真理解你就知道了
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1