新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于Linux-2.6.16的高速模數(shù)轉(zhuǎn)換器AD7859L的應(yīng)用

基于Linux-2.6.16的高速模數(shù)轉(zhuǎn)換器AD7859L的應(yīng)用

作者: 時(shí)間:2009-03-18 來源:網(wǎng)絡(luò) 收藏

3.1 平臺(tái)資源
在2.6內(nèi)核中將每個(gè)設(shè)備的資源用結(jié)構(gòu)platform_device描述,該結(jié)構(gòu)體在/include/linux/platform_device.h中定義。驅(qū)動(dòng)的平臺(tái)資源如下。在文件/arch/arm/roach―s3c2410/devs.c中添加下述結(jié)構(gòu)體。


該宏定義在map.h文件中。第二組描述了設(shè)備的中斷向量號(hào)。flags描述資源類型,設(shè)備驅(qū)動(dòng)會(huì)根據(jù)flags來獲取相應(yīng)的資源信息。在結(jié)構(gòu)體static struct platform_device*smdk2410_devices[]__initdata添加上述s3c_device_ad7859adc平臺(tái)資源。該結(jié)構(gòu)體在/arch/arm/mach―s3c2410/mach―smdk2410.C文件中定義。
3.2 MISC類設(shè)備
的結(jié)構(gòu)體內(nèi)創(chuàng)建一個(gè)miscdevice類型設(shè)備驅(qū)動(dòng)的結(jié)構(gòu)體指針,增添一個(gè)misc類型設(shè)備。該結(jié)構(gòu)體在/include/miscdevice.h中定義。


在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
測(cè)試的程序相對(duì)簡單,利用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是一款、低功耗的,在測(cè)量行業(yè)有著很廣闊的前景。隨著大家對(duì)Linux的認(rèn)可,嵌入式Linux會(huì)被越來越多的人所接受。通過介紹在Linux下以MISC類設(shè)備方式開發(fā)AD7859L的設(shè)備驅(qū)動(dòng)程序,讓大家更清楚的理解MISC類型設(shè)備的操作方法。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁 1 2 下一頁

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉