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

標題: ARDUINO的I2C通信詳解 [打印本頁]

作者: piaolin    時間: 2015-10-30 11:53
標題: ARDUINO的I2C通信詳解
        最基本的功夫,今天可以坐下來做一個總結。
        I2C
是非常普通的通信方式,Arduino單片機集成了I2C庫,可以直接調用幾個函數實現I2C通信。Arduino MEGA2560開發板I2C接口,在班上對應的20--SDA 21--SCL。





                                                                                       圖1


        Arduino的I2C庫是Wire.h。常用庫函數如下:
        Wire.beginTransmission(Addr);
        Wire.write(data);
        Wire.endTransmission(void);

        Wire.requestFrom(Addr, num);
        Wire.available();
        Wire.read()。
        每個數據發出后,都必須有應答,只有在等到應答后,才能發出下一個數據或者指令。
        下面是一段代碼:
        
Wire.beginTransmission(0x01);
        Wire.write(0xAA);
        如果0x01發出后I2C器件沒有應答,那么0xAA就不能發送,這時候用示波器或者邏輯分析儀看,就只能看到發出了Start信號和數據0x01。
        Wire.beginTransmission(Addr)只發送起始信號和I2C地址,Addr是I2C總線地址。
        Wire.write(data)只發送數據,data就是希望發送的數據,而且是發一次,地址就自動加一。
        Wire.endTransmission(void)發送停止信號。
        Wire.requestFrom(Addr, num)向已知地址器件獲取連續num個數據,這時候需要注意,數據只是存起來了,并沒有真正返回。
        Wire.read()就是用來讀回前面那些存起來的數據,而且是讀一次地址自動加一。
        Wire.available()則返回已經存了多少個數據。






作者: 1458040565    時間: 2018-12-10 14:33
能不能發送double類型或者float類型的數據,write只能發送byte類型的數據




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