深度解析iPhone應(yīng)用數(shù)據(jù)交換原理
iPhone應(yīng)用數(shù)據(jù)交換原理是本文要介紹的內(nèi)容,主要是來(lái)學(xué)習(xí)iphone應(yīng)用中如何來(lái)實(shí)現(xiàn)數(shù)據(jù)的交換。如果我們的應(yīng)用程序想跟外設(shè)傳輸數(shù)據(jù),先要透過(guò) iPhone 的操作系統(tǒng),也就是 iPhone OS,而最開(kāi)始的認(rèn)證過(guò)程也是在外設(shè)和 iPhone OS 之間發(fā)生的,蘋(píng)果為這個(gè)過(guò)程提供了一顆認(rèn)證芯片(這顆芯片的作用是用來(lái)讓 iPhone OS 識(shí)別這個(gè)外設(shè)是經(jīng)過(guò)蘋(píng)果公司承認(rèn)的,他的通信方式是 I2C 總線(xiàn), 而且每出一個(gè)產(chǎn)品蘋(píng)果都會(huì)收幾美元的認(rèn)證費(fèi)用)
iPhone OS 承認(rèn)外設(shè)分兩個(gè)步驟,識(shí)別和認(rèn)證,我們先說(shuō)說(shuō)識(shí)別過(guò)程。
識(shí)別過(guò)程是使用純物理連接來(lái)實(shí)現(xiàn)的,在這個(gè)過(guò)程中 iPhone 的 30pin 有三個(gè)引腳被用到,分別是 Accessory Identify,Accessory Detect,Accessory Power,Accessory Identify 接 549k 歐姆的電阻,告知 iPhone OS 使用串口通信,Accessory Detect 直接接地,告知 iPhone OS 有外設(shè)插入,Accessory Power 相當(dāng)于 iPhone OS 的信號(hào),待機(jī)時(shí)這個(gè)引腳沒(méi)有輸出,否則會(huì)有 3.3V 的電壓輸出。如果按照以上連接就完成了識(shí)別過(guò)程。
下面開(kāi)始認(rèn)證過(guò)程,認(rèn)證過(guò)程也叫 IDPS 過(guò)程,這些就牽扯到蘋(píng)果指定的通信協(xié)議了,蘋(píng)果給自己的通信協(xié)議起了一個(gè)名字叫 Lingo,Lingo 分好多種有 音頻的 Lingo還有顯示遙控的 Lingo,而我們認(rèn)證使用的 Lingo 叫做 General Lingo??赡艽蠹疫@時(shí)有點(diǎn)暈,那我就給大家看一個(gè) iPhone 的命令包,如圖所示:
這是 iPhone 的命令包,大家看到這個(gè)應(yīng)該就明白了。開(kāi)始 IDPS 過(guò)程首先要發(fā)送 StartIDPS 命令,這樣,外設(shè)與 iPhone OS 之間的認(rèn)證過(guò)程 就開(kāi)始了。其中咱們應(yīng)用中 EAAccessory 關(guān)于一些外設(shè)的屬性,都是在這個(gè)過(guò)程中外設(shè)發(fā)給操作系統(tǒng)的,具體還是大家加入蘋(píng)果的 mfi(made for ipod),拿到資料后,才能更明白。稍后我會(huì)將 iPhone 串口通信的源碼發(fā)出來(lái)。先寫(xiě)到這兒吧,這些東西不能說(shuō)的太多,希望會(huì)對(duì)大家有點(diǎn)幫助。
小結(jié):深度解析iPhone應(yīng)用數(shù)據(jù)交換原理的內(nèi)容介紹完了,希望通過(guò)本文的學(xué)習(xí)能對(duì)你有所幫助!