基于Linux系統(tǒng)的多種串行總線統(tǒng)一接口的實(shí)現(xiàn)
完成設(shè)備驅(qū)動(dòng)加載之后,就會(huì)在/dev目錄下生成如圖2所示的文件節(jié)點(diǎn)。通過(guò)打開(kāi)節(jié)點(diǎn),就可以打開(kāi)總線的統(tǒng)一接口,從而實(shí)現(xiàn)對(duì)總線的讀、寫和控制操作。本文引用地址:http://butianyuan.cn/article/148622.htm
同時(shí),還會(huì)在/sys目錄下生成關(guān)于注冊(cè)的總線屬性目錄和文件,主要包含有設(shè)備號(hào)的屬性文件、電源管理屬性目錄、到類目錄的鏈接、特殊事件屬性文件等,具體如圖3所示。
這里分別對(duì)I2C接口的E2PROM芯片AT24C02、1-Wire接口的EEPROM芯片DS2433和SPI接口的EEPROM芯片25AA010進(jìn)行測(cè)試。其測(cè)試結(jié)果如圖4所示。
其測(cè)試過(guò)程是:通過(guò)打開(kāi)/dev/bus-0、/dev/bus-1、/dev/bus-2節(jié)點(diǎn),調(diào)用寫操作寫一段數(shù)據(jù)到EEPROM,然后,再調(diào)用讀操作讀出剛才寫入的數(shù)據(jù),并驗(yàn)證兩者是否一致,從而判斷本文的接口函數(shù)的正確性。
4 結(jié)語(yǔ)
實(shí)踐證明,使用設(shè)備接口層與適配器接口層的這種分層方式,能夠讓應(yīng)用程序進(jìn)一步忽略底層的接口操作,實(shí)現(xiàn)接口的統(tǒng)一。而且,該方法具有適應(yīng)性強(qiáng),易于系統(tǒng)升級(jí),占用資源少等特點(diǎn),能有效提高應(yīng)用程序的開(kāi)發(fā)效率。
評(píng)論