基于Linux的MISC類設(shè)備AD7859L的驅(qū)動(dòng)程序開發(fā)
在AD7859L驅(qū)動(dòng)的probe函數(shù)中調(diào)用misc_register(stmctmiscdevice*misc)函數(shù),對(duì)misc類設(shè)備注冊(cè),這個(gè)函數(shù)會(huì)為內(nèi)核注冊(cè)一個(gè)misc類型設(shè)備,如果minor被設(shè)置為MISCDYNAMIC_MINOR,系統(tǒng)會(huì)動(dòng)態(tài)的為該設(shè)備分配一個(gè)次設(shè)備號(hào),用以區(qū)分其他的設(shè)備。不同類型的設(shè)備調(diào)用的設(shè)備注冊(cè)和注銷函數(shù)有所不同。misc類設(shè)備的注銷函數(shù)為misc_deregister(struct miscdevice}misc)。成功均返回零,否則返回一個(gè)錯(cuò)誤代碼。
3.3 應(yīng)用
測(cè)試的應(yīng)用程序相對(duì)簡(jiǎn)單,利用open函數(shù)打開設(shè)備文件,通過ioctl函數(shù)設(shè)置AD7859L的各個(gè)采樣參數(shù),包括選擇哪幾路通道進(jìn)行采樣,采樣的時(shí)間間隔,采樣的方式等等。利用read函數(shù)讀取緩沖區(qū)數(shù)據(jù),在程序退出時(shí)調(diào)用close函數(shù)關(guān)閉設(shè)備文件。
4 結(jié)語
AD7859L是一款高速、低功耗的模數(shù)轉(zhuǎn)換器,在測(cè)量行業(yè)有著很廣闊的應(yīng)用前景。隨著大家對(duì)Linux的認(rèn)可,嵌入式Linux會(huì)被越來越多的人所接受。通過介紹在Linux下以MISC類設(shè)備方式開發(fā)AD7859L的設(shè)備驅(qū)動(dòng)程序,讓大家更清楚的理解MISC類型設(shè)備的操作方法。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論