新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 基于S3C2440的nRF2401驅動設計

        基于S3C2440的nRF2401驅動設計

        作者: 時間:2012-08-03 來源:網絡 收藏

          tq2440_nf24_open 函數用于打開設備, 設置功能引腳,將指定的引腳設置成是讀狀態還是寫狀態。由于 與S3C2410 相差甚微,所以用一些S3C2410 的子函數,減少程序開發的工作量。如:s3c2410_gpio_cfgpin (nf24_table [i],nf24_cfg_table[i]),nf24_table[],nf24_cfg_table[]是兩個靜態數組, nf24_table[]指定要設置的引腳,nf24_cfg_table[]指定設置到哪種工作模式。引腳的的定義在頭文件里,其位置在內核文件系統下,路徑為asm / arch / regs-gpio.h.

          tq2440_nf24_read,tq2440_nf24_ioctl 函數執行相應的讀寫操作。通過子函數:s3c2410_gpio_cfgpin (nf24_table[0],nf24_cfg_table[5]);

          dr=s3c2410_gpio_getpin(nf24_table[0]);可以將采集到的管腳狀態通過操作系統內核送到應用程序, 由應用程序將位處理成字節。

          module_init(),module_exit()用于模塊的加載和退出。

          MODULE_AUTHOR(″cgq″),MODULE_LICENSE(″GPL″ )函數說明了函數的作者和遵循的協議。

         2.2 nFR2401 軟件設備號

          字符設備有一個主設備號和一個次設備號。主設備號標識設備對應的程序, 內核利用主設備號將設備與相應的程序對應起來。次設備號只由設備驅動程序使用,區分同類型設備。向系統增加一個驅動程序意味著要給它一個主設備號。驅動編寫時,先不設置主設備號。待編寫完成后,加載驅動程序后,查看/ proc / devices 文件,查找系統分配給設備的主設備號。然后修改驅動程序中的設備號,重新編譯即可。例如在實驗中,系統對nFR2401 的主設備號分配為:

          #define DEVICE_NAME ″nf24″ / *″TQ2440_nf24″*/

          #define NF24_MAJOR 253 / *nf24_MAJOR 198*/

          2.3 nFR2401 應用軟件

          應用軟件主要完成數據的發送、接收和存儲。為了使相關程序調用方便。將數據的發送、接收和存儲按照模塊化編寫。圖2 是程序的主體流程圖。

          圖2 發送、接收流程圖

          圖2 發送、接收流程圖

          系統上電后,當程序執行到調用該設備時,打開相關設備文件時,首先通過open()函數打開設備,如果沒有正常打開,則顯示錯誤信息, 進行相應處理。

          如果打開正常。首先對nFR2401 進行配置編程。

          將CS、CE 設為配置模式。通過CLK 和DATA 將通道的數據長度、通道的地址、地址的位數、CRC 校驗和、使能、通信模式、速率等配置數據由高位到低位移入芯片。配置字一共120bit.將CS、CE 設為工作模式,nFR2401 將刷新內部配置并使新配置立即生效。隨后就按照配置的工作方式工作。

          在數據采集實驗系統中, 隨運動部件的RF 芯片剛開始處于接收命令, 接收到工作指令時, 開始將采集到的數據發送出去。連接 的設備發送完工作指令后,就處于接收狀態。

          這樣就避免了使 處于頻繁的工作模式變動之中,節省了時間,加快了數據傳輸的速度。減少了丟數的概率。

          所有相關程序編譯完成后, 將驅動程序放入內核文件系統的/ driver / char 文件夾下, 編譯后生成的驅動執行文件入文件系統的/ lib 文件夾下,應用程序放在/ opt 下,修改系統啟動文件順序即/ etc / init.d / rcS 文件并添加“insmod / lib / nf24.ko” 系統啟動時即可加載驅動。然后重新編譯,移植內核,文件系統。燒寫、重啟后,即可按原先的工作。

          3 結束語

           的結合,是對Linux 外設的擴展。系統的集成度高,傳輸速率高。芯片自身的糾錯機制能確保信號能夠準確傳輸。多頻點的特性,可以使得在狹小的空間里布置多個同樣類型的芯片進行互不干擾的工作。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 哈尔滨市| 富源县| 汕头市| 久治县| 霍山县| 连平县| 乌拉特后旗| 巧家县| 盘锦市| 乐至县| 永清县| 应用必备| 彝良县| 洛扎县| 叙永县| 岚皋县| 九寨沟县| 龙陵县| 莆田市| 卓资县| 和田市| 东明县| 常州市| 鲁甸县| 佳木斯市| 兰州市| 万安县| 陇西县| 田阳县| 山东| 永福县| 红桥区| 张家港市| 城口县| 靖远县| 余江县| 自治县| 泾阳县| 城固县| 佛教| 潍坊市|