精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Android Things中的I2C

企業動態
這篇文章主要介紹怎樣在 Android Things 中添加一個 I2C 的設備。

上一講中,我們說到 Android Things 的 API,以及 Peripheral I/O 設備包含的 API 的類型。但是作為程序員的我們,怎么理解這些 API 呢?

我們就拿 I2C 的 API 來說吧。看看我們怎樣在 Android Things 中添加一個 I2C 的設備?首先得知道,I2C 是做什么的?怎么用?

實際上,I2C 是同步的串行通信總線,一般用于控制信號,比如控制 LCD, Camera 等設備。另外,大部分傳感器有 I2C 的接口。I2C 是依靠時鐘信號來傳遞數據的,所以有主設備(產生時鐘的信號)和從設備(接收時鐘的信號)之分。I2C 的通信每一次操作都是由主設備的發起的。

既然 I2C 是依靠時鐘傳遞的信號,那么在連線上就有時鐘錢 (SCL) 和數據線 (SDA),然后為了電勢與大地相同,自然少不了地線 (GND)。為了方便沒有接觸過 I2C 總線的同學們理解這三個名詞,貼上名詞的全稱:

  • Shared clock signal (SCL)
  • Shared data line (SDA)
  • Common ground reference (GND)

三個 I2C 設備連接在一起

單看上面的圖,為啥有三個 I2C 設備連接在一起呢?這三者之間又是什么關系?

其中,寫有 Master Device 的 I2C 設備,稱為主設備,另外兩個為從設備。從主設備引出的 SDA 和 SCL 線構成 I2C 的總線。一個 I2C 的主設備可以提供一條 I2C 的總線,一條總線上***可以連接 127 個 I2C 的從設備。

等等,為啥是 127 個呢?主要是 I2C 的地址有 7 位和 10 位兩種地址。也就意味著,對于 7 位的地址表達的數據***可以到 2^7=128,減去一個主設備,就是 127 個從設備了。這里的 I2C 設備地址,就是上圖的 Address: 0x3c 和 0x4c,I2C 的主設備是通過從設備的地址,來找到從設備的。請注意,I2C 的主設備,是沒有設備地址這一說法的。

我們還需要了解 I2C 的一些硬件信息:

I2C 是半雙工,可以有主 -> 從方向的數據,也可以有從 -> 主方向的數據,但是同一時刻,只能有一種傳輸方式。這點和 SPI 是有差別的,SPI 總線支持全雙工模式。但它同時只能訪問一個從設備,由片選信號 (CS) 來決定。這就很明顯了,I2C 通常用于控制命令的傳輸。而 SPI 通常用數據的批量傳輸。

了解完 I2C 的基本硬件信息。我們來了解一下 I2C 的從設備操作方式。不多不多,就是三大步。

  • 連接從設備
  • 對從設備進行讀操作
  • 對從設備進行寫操作

設備連接

先要檢查我們的物聯網設備上有沒有 I2C 總線。這時需要補充一下,有可能你的開發板上有多個 I2C 的總線。這時候, I2C 的總線地址 (此處非 I2C 的設備地址) 是有多個的,要明確你的 I2C 設備是接在哪個 I2C 的總線上。這也可以理解,為什么得到的 I2C 總線的數據是用 List 類型進行存放的。

I2C 總線的數據是用 List 類型進行存放

如果有總線,我們再查找當前的 I2C 總線上對應的 I2C 設備。

 I2C 總線上對應的 I2C 設備

關鍵的接口是 manager.openI2CDeivce(..),這個函數有兩個參數,DEVICE_NAME 是用戶定義的一個字符串,表示設備的名稱。I2C_ADDRESS,也是之前所說的 I2C 從設備上的地址,這個地址在當前的 I2C 總線上是唯一的。

讀寫操作

首先得把 I2C 的操作流程搬出來說了。

 I2C 的操作流程

這張圖翻譯成中文就是這樣子的:

這樣就完成了向設備地址為 0x30、寄存器地址為 0x10 的設備上讀或者寫入 0x06 這個數據。

那怎么知道是讀數據,還是寫數據呢?實際上 I2C 是 7 位的地址位。但是一個字節是 8 位,其中有一位叫做讀寫位。如果那一位設為讀,就是去讀操作,如果設為寫,就是寫操作。實際上,在示波器上我們還能看到另外的一個 ACK 位,保證硬件上傳輸正常,ACK 位在軟件上不需要處理。

那么,加上 I2C 的讀寫位之后, I2C 數據傳輸會是什么樣的呢?

加上 I2C 的讀寫位之后, I2C 數據傳輸

我們可以看到, I2C 數據傳輸的時序,從硬件上來說 SCL 是按周期發的時鐘信號,當 SCL 是高電平時,SDA 產生一個下降沿,這時候開始數據傳輸。其中傳輸 I2C 的從設備地址共有 8 位,1-7 位是地址,第 8 位是讀寫位,0 表示寫,1 表示讀。然后硬件自動產生 ACK 位。接下來就是數據傳輸的整個過程,***當數據傳完后,SCL 為高電平,SDA 產生上升沿時,產生 STOP 操作。事實上,在 I2C 做讀操作需要往 I2C 的設備寫入隨機值,再去讀,不過這些操作在 I2C 相關的接口中已經為我們封裝好了。

這么大篇幅介紹了 I2C 的原理,還有 I2C 的時序,操作流程。實際上,Android Things 已經幫我們把讀寫接口封裝好了,我們只需要在理解的基礎上,調用接口就行了。

可以看出,Android Things 已經給我們封裝好了 I2C 的讀寫操作 ,我們直接用就可以了。

這里面還有個細節比較繞。之前提到, I2C 的設備地址可以是 7 位,也可以是 10 位,但是 I2C 設備的寄存器可以是 8 位,也可以是 16 位。這里面就涉及到 8 位的設備,以及 16 位設備的讀寫問題。

六大函數出場:

  • 8 位地址讀寫操作- readRegByte() 和 writeRegByte()
  • 16 位地址讀寫操作 - readRegWord() 和 writeRegWord()
  • 批量讀寫操作- readRegBuffer() and writeRegBuffer()

其中 Byte 是針對 8 位的 I2C 設備,Word 是針對 16 位的設備。

  • 讀操作:用寄存器的地址做為參數。
  • 寫操作:兩個參數,寄存器地址,和你要寫入的值。

上面的代碼中,把寄存器的第 6 位置 1。所以操作流程是

  1. 讀出寄存器的值
  2. 將這個值的第6位置1 (value |= 0x40;)
  3. 然后把新的值寫回寄存器

不過對于 16 位的地址操作還有一個大小端的問題。(什么是大小端?去 Google 吧 )現在的 API 是依照小端模式來讀寫的 16 位設備地址。

直接批量數據操作,可以***讀到 32 個連續的寄存器的數值。

那么,我們怎么使用接口進行批量操作呢?

傳輸原始數據

還是先來張圖吧:

這種操作方法,不同于上面的讀寫寄存器。在 I2C 的操作中,屬于 burst 操作方法。即一次性的讀寫多少字節,***再停止。

跟一個例子:

這樣傳輸能帶來更高的傳輸效率,解決了 I2C 傳輸的核心問題,我們也解決了支持 I2C 的任何外設的讀寫問題。

后記

Android Things 的 SDK 中,Peripheral I/O 部分是包括三種總線的,UART, I2C, SPI。對于軟件開發人員來說,有下面幾點需要注意:

  • UART 開發,需要了解 UART 的波特率、流控等概念。
  • SPI 開發,需要了解 MISO, MOSI,CLK, GND, CS 這些連線的作用,還有 SPI 的操作模式等,SDK 中的接口,與上文的 I2C 的開發流程相似。
  • I2C開發,就不用接著說了吧

【本文是51CTO專欄機構“谷歌開發者”的原創稿件,轉載請聯系原作者(微信公眾號:Google_Developers)】

戳這里,看該作者更多好文

責任編輯:趙寧寧 來源: 51CTO專欄
相關推薦

2022-06-13 09:21:45

I2C DriverI2C 子系統

2010-06-08 16:25:35

I2C總線協議

2017-08-11 18:25:25

Linuxi2c

2010-07-01 16:45:05

I2C總線協議

2022-05-27 09:00:09

I2C子系統協議

2023-04-07 09:14:31

硬件通信串口通信實驗

2022-06-12 07:30:13

I3C通訊協議

2021-01-19 19:32:01

Cortex-A9 R嵌入式系統i2c 外設

2022-06-18 09:02:00

I2C 子系統通信協議

2021-12-06 08:50:27

I2C拉電阻阻值架構

2023-09-13 15:33:57

I2C鴻蒙

2009-04-11 15:12:24

.Net MicroI2C總線模擬器

2022-06-07 08:42:21

高速模式HS mode

2010-06-08 16:21:50

I2C總線協議

2017-02-17 13:46:01

Android云端 驅動

2021-09-08 15:44:56

鴻蒙HarmonyOS應用

2023-03-22 09:23:53

I2C總線溫度傳感器

2020-11-09 07:23:10

UART通信SPI

2017-03-02 15:33:24

Android Thi環境搭建

2022-10-30 10:31:42

i2ccpuftrace
點贊
收藏

51CTO技術棧公眾號

成人一级免费视频| 国产精品一级无码| 都市激情在线视频| 国产在线一区观看| 午夜精品一区二区三区在线视| 超碰97在线资源站| 91精品国产自产观看在线| 亚洲综合激情另类小说区| 日产中文字幕在线精品一区| 国产精品系列视频| 在线视频日韩| 九九热这里只有精品免费看| 加勒比一区二区| 日韩影片在线观看| 欧美天堂亚洲电影院在线播放| 久操手机在线视频| 第一福利在线| 99国产精品久久久久久久久久久| 国产综合色香蕉精品| 欧美精品韩国精品| 国产精品豆花视频| www.欧美精品一二三区| 久久丫精品国产亚洲av不卡| 亚洲专区**| 欧美精品第一页| 国产成人精品视频ⅴa片软件竹菊| 3d玉蒲团在线观看| 中文字幕中文字幕一区| 欧美性天天影院| 视频一区 中文字幕| 国产乱人伦偷精品视频免下载| 日本精品久久久| 黄色小说在线观看视频| 香港欧美日韩三级黄色一级电影网站| 亚洲人成网站免费播放| 亚洲制服丝袜在线播放| 一区二区日韩| 日韩一级片在线观看| 欧美一级xxxx| 成人亚洲综合| 欧美在线|欧美| 无遮挡又爽又刺激的视频 | 成人国产精品免费观看视频| 国产情人节一区| 中文字幕人妻一区二区在线视频| 亚洲一区免费| 国产91av在线| 精品人妻一区二区三区免费看 | 天天综合天天添夜夜添狠狠添| 精品欧美一区二区三区在线观看 | 国产精品久久久久久久岛一牛影视| 欧美另类一区| 激情视频在线观看免费| 久久久精品tv| 五月婷婷一区| 麻豆影院在线观看| 亚洲精品国产精华液| 午夜久久久久久久久久久| av大片在线| 亚洲综合网站在线观看| 91免费黄视频| 三级在线观看视频| 色偷偷成人一区二区三区91| 国产成人精品视频ⅴa片软件竹菊| 亚洲精品粉嫩美女一区| 欧美体内she精视频| 最新免费av网址| 2023国产精华国产精品| 亚洲国产一区自拍| 久久丫精品国产亚洲av不卡| 精品一区二区三区在线| 日韩一区二区av| 久久国产精品二区| 日韩一区二区免费看| 日本免费久久高清视频| 中文字幕无码乱码人妻日韩精品| 狠狠色丁香久久婷婷综合_中| 91中文字幕在线| 欧美自拍偷拍第一页| 99久久精品免费看国产 | 国产精品99久久精品| 久久夜色撩人精品| 日本在线视频免费观看| 丝袜美腿高跟呻吟高潮一区| 成人h猎奇视频网站| 俄罗斯嫩小性bbwbbw| 久久日韩粉嫩一区二区三区| 一区二区三区四区视频在线观看 | 人人澡人人澡人人看欧美| 国产精品午夜一区二区| 国产精品自拍毛片| 你懂的视频在线一区二区| 欧洲日本在线| 亚洲444eee在线观看| www.色就是色| 国产精品对白久久久久粗| 中文字幕欧美日韩va免费视频| 欧美人禽zoz0强交| 免费看的黄色欧美网站| 亚洲综合色av| 国产精品一区二区三区四区色| 亚洲精品福利视频网站| 日韩毛片在线免费看| 高清久久精品| 亚洲无亚洲人成网站77777| 国产高清在线免费观看| 狂野欧美性猛交xxxx巴西| 亚洲iv一区二区三区| 精品视频一二三| 亚洲午夜日本在线观看| 超碰在线播放91| 日本中文字幕在线一区| 欧美日韩高清在线观看| 中文字幕欧美人妻精品一区蜜臀| 成人黄色小视频在线观看| 亚洲人成网站在线观看播放| 国产精选在线| 欧美sm美女调教| 99久久精品久久亚洲精品| 久久国产福利| 精品久久sese| 高清电影在线观看免费| 欧美裸体一区二区三区| 扒开jk护士狂揉免费| 欧美日韩 国产精品| 国产日韩欧美一二三区| 黄色av网站在线| 欧美日韩亚洲系列| 91精品又粗又猛又爽| 亚洲色图国产| 国产欧美va欧美va香蕉在| 国产一级二级三级在线观看| 岛国精品视频在线播放| 稀缺小u女呦精品呦| 女人香蕉久久**毛片精品| 国产日本欧美在线观看| 成人在线免费看| 日本电影亚洲天堂一区| 9.1成人看片| 在线亚洲欧美| 激情久久av| av剧情在线观看| 日韩电影大全免费观看2023年上| 国产一级在线观看视频| 成人午夜av电影| 黄色一级片黄色| 亚洲精品a区| 欧美日韩成人在线视频| 亚洲精品国产手机| 亚洲高清免费视频| 亚洲啪av永久无码精品放毛片 | 亚洲国产成人高清精品| 好吊操视频这里只有精品| 欧美日本精品| 精品国产二区在线| 日韩深夜视频| 一区二区三区日韩在线| 亚洲无码精品国产| 亚洲私人影院在线观看| 亚洲一二区在线观看| 女生裸体视频一区二区三区| 91在线精品观看| 久草在线视频网站| 日韩精品视频观看| 中文无码精品一区二区三区| 中文字幕日韩一区| 绯色av蜜臀vs少妇| 国产欧美综合一区二区三区| 欧美精品亚洲精品| 免费成人黄色网| 久久综合久久八八| 亚洲女人18毛片水真多| 婷婷六月综合亚洲| 国内精品卡一卡二卡三| 九九在线精品视频| 日本一区午夜艳熟免费| 午夜先锋成人动漫在线| 国产精品igao视频| av网址在线看| 亚洲激情视频在线| 伊人久久成人网| 亚洲国产综合91精品麻豆| 丰满少妇一区二区三区| 麻豆成人久久精品二区三区红| 看全色黄大色大片| 亚洲丝袜美腿一区| 91在线直播亚洲| 暖暖成人免费视频| 久久影院免费观看| 清纯唯美亚洲色图| 91精品国产91久久久久久一区二区| 精品午夜福利视频| 国产日韩欧美一区二区三区综合| 91视频免费入口| 久久亚洲电影| 六月婷婷激情综合| 久久精品播放| 久久精品人成| 欧美午夜在线播放| 国产精品99久久99久久久二8| 欧洲性视频在线播放| 亚洲天堂av女优| 国产 欧美 精品| 欧美日韩国产片| 日本三级小视频| 一二三四社区欧美黄| 波多野在线播放| www.视频一区| 精品人妻一区二区三区免费| 日本网站在线观看一区二区三区 | 蜜桃av.com| 91日韩精品一区| 久久国产免费视频| 久久99精品国产麻豆婷婷| 日本wwww视频| 亚洲视频福利| 中文字幕色呦呦| 久久一区91| 色涩成人影视在线播放| 久久国产精品免费精品3p| 成人欧美在线观看| 成人亚洲视频| 国产精品久久久久久久美男| 99riav视频在线观看| 欧美日本黄视频| 国产原创在线观看| 视频一区视频二区国产精品 | 一级全黄裸体免费视频| 日韩欧美中文在线| 久久不卡免费视频| 午夜欧美2019年伦理| 欧美日韩亚洲国产另类| 亚洲欧洲在线观看av| 亚洲精品视频网址| 国产欧美一区二区精品婷婷| 国内精品久久99人妻无码| 北条麻妃一区二区三区| 国产又黄又嫩又滑又白| 国精品**一区二区三区在线蜜桃| 9l视频白拍9色9l视频| 蜜臀va亚洲va欧美va天堂| 久久综合久久色| 日日夜夜一区二区| 欧美黄色性生活| 美女一区二区三区| 亚洲这里只有精品| 久久av中文字幕片| 永久免费的av网站| 国产一区二区视频在线| 色姑娘综合天天| 国产成人福利片| 亚洲国产精品狼友在线观看| 粉嫩久久99精品久久久久久夜| www男人天堂| 91色在线porny| 国产精品扒开腿做爽爽| 国产午夜精品福利| 殴美一级黄色片| 亚洲人成电影网站色mp4| 国模无码国产精品视频| 亚洲自拍偷拍av| 欧美另类一区二区| 欧美亚洲精品一区| 国产又爽又黄免费软件| 日韩一区二区三区视频| 色婷婷av一区二区三区之红樱桃| 日韩黄色高清视频| 成年人视频在线看| 久久国产精品电影| 77thz桃花论族在线观看| 日本久久久久久久| 婷婷久久免费视频| 国产精品污www一区二区三区| 欧美xxxx在线| 婷婷四房综合激情五月| 欧美成熟视频| 黄色动漫在线免费看| 免播放器亚洲一区| 成人在线观看一区二区| 久久久精品国产99久久精品芒果 | 国内在线精品| 久久av红桃一区二区小说| 51精品在线| 国产日韩精品视频| 精品成人自拍视频| 五月天亚洲综合小说网| 激情成人综合| 在线观看国产一级片| 国产高清不卡二三区| 少妇真人直播免费视频| 亚洲日本丝袜连裤袜办公室| 亚洲国产精品午夜在线观看| 欧美在线综合视频| 丰满熟妇人妻中文字幕| 伊人伊人伊人久久| 黑人玩欧美人三根一起进| 国产精品久久久久久久app| 国产亚洲精aa在线看| 秋霞久久久久久一区二区| 国产精品久久天天影视| 国产超级av在线| 风流少妇一区二区| 亚洲精品电影院| 日韩欧美一区二区三区| 亚洲国产成人一区二区 | 日本午夜精品视频| 天天色综合成人网| 99草在线视频| 原创国产精品91| 美女搞黄视频在线观看| 97久久精品午夜一区二区| 成人3d动漫在线观看| 免费看一级大黄情大片| 国产精品一区二区三区乱码| 国产aaaaaaaaa| 色哟哟国产精品免费观看| 成人毛片在线精品国产| www.久久久久| 成人精品国产亚洲| 欧美一区二区三区精美影视| 亚洲精品三级| a级片在线观看视频| 亚洲欧美乱综合| 亚洲一区精品在线观看| 亚洲无av在线中文字幕| 免费观看亚洲| 久久五月天婷婷| 99在线|亚洲一区二区| 久久久久亚洲AV成人网人人小说| 国产精品国产三级国产aⅴ原创 | 亚洲变态欧美另类捆绑| 在线中文字幕视频观看| 成人精品一区二区三区电影免费 | 91麻豆成人精品国产| 在线观看国产精品日韩av| 女生影院久久| 日本精品一区二区三区不卡无字幕| 国产日韩欧美高清免费| 国产女人18毛片水真多18| 亚洲午夜一区二区| 老牛影视av牛牛影视av| 久久免费精品日本久久中文字幕| 香蕉大人久久国产成人av| 国产日韩欧美大片| 国产一区视频网站| 538任你躁在线精品视频网站| 欧美精品色综合| 欧美精品videos另类| 成人久久一区二区| 婷婷综合激情| 亚洲国产欧美日韩在线| 一个色综合网站| 手机看片一区二区三区| 69**夜色精品国产69乱| 日韩三级视频| caopor在线视频| 国产精品夫妻自拍| a天堂在线视频| 性欧美长视频免费观看不卡| 久久人人爽人人爽人人片av不| 欧美精品一区免费| 中文字幕av不卡| 国内精品久久久久久久久久久| 欧美日韩成人在线视频| 欧美久久香蕉| 99热这里只有精品在线播放| ...中文天堂在线一区| 性中国古装videossex| 91极品视频在线| 成人一区二区| 亚洲天堂小视频| 日韩欧美精品在线观看| 日韩三级影院| 国产精品二区三区| 久久国产高清| 疯狂试爱三2浴室激情视频| 精品国产一区二区三区久久影院| 亚洲少妇视频| 在线成人性视频| 成人白浆超碰人人人人| 亚洲成人av影片| 美女黄色丝袜一区| 亚洲精品动态| 国产精品探花在线播放| 欧美日韩视频在线| 免费黄网在线观看| 国产一级特黄a大片99| 麻豆精品一区二区| 在线看成人av| 久久深夜福利免费观看| 奇米777国产一区国产二区| 老司机久久精品| 天天综合天天综合色| 久久精品视频免费看| 精品一区二区三区国产| 韩日欧美一区二区三区| 狠狠人妻久久久久久综合| 欧美精品制服第一页| 精品日韩欧美一区| 日韩精品人妻中文字幕有码|