激情综合丁香-激情综合六月-激情综合婷婷亚洲图片-激情综合图区-激情综合网五月

ARM9工控主板內嵌AD的應用

 2009-5-6              

        英創公司推出的ARM9 嵌入式工控主板產品系列,均預裝了正版WinCE5.0 操作系統。支持微軟公司的eVC 進行應用程序的開發。eVC 是微軟針對嵌入式系統提供的一套功能完善且可免費獲取的開發工具,與PC 平臺通用的VC 保持了高度的一致性,同時考慮C/C++的執行效率,因此eVC 被作為英創ARM9 工控主板上應用程序開發的首選工具。在利用英創ARM9 工控主板進行產品開發時,可能會出現簡單的模擬信號的采集。因此,英創公司的EM9260和EM9160就考慮到了這些應用,引出了系統自帶的ADC(Analog-to-digital Converter)接口,并提供相應的程序庫,方便客戶的使用。

 

        EM9260有2路ADC,EM9160有2路ADC,均是與GPIO復用:

                采樣速度:300kSPS

                數據寬度:10位

                基準信號:3.3V

                量程范圍:0 – 3.3V

                信號輸入:


 

ADC0

ADC1

EM9260

GPIO4

GPIO5

EM9160

GPIO4

GPIO5


 

        在使用ADC的時候,將“EM9X60_ADC_API.lib”和 “EM9X60_ADC_API.h”兩個文件放在工程目錄下,并在應用程序中加入“EM9X60_ADC_API.h”文件,如下圖所示:

 

 

        然后對工程進行設置,主要是使工程鏈接EM9X60_ADC_API.lib庫文件。

 

        從“Project”菜單下,打開工程的 “settings”項(或是快捷鍵“ALT+F7”),在“LINK”選項中的“Object/library modules:”欄,加入“EM9X60_ADC_API.lib”,如下圖所示:

 

        設置好后,點擊“OK”確認。應當注意的是,在工程中的“Debug”和“Release”兩個狀態下都要進行分別設置。

 

        由于是和GPIO復用,所以使用ADC后,GPIO功能將不能使用。具體操作函數如下:

 

        啟動ADC:

        BOOL StartADC( int ChIndex );

        輸入參數:

                ChIndex 要啟動的ADC的通道號,僅0和1有效

        返回值:

                啟動成功,返回TRUE;啟動失敗,返回FALSE

 

        讀取ADC數據:

        DWORD GetADC(int ChIndex);

        輸入參數:

                ChIndex 要讀取數據的ADC的通道號,僅0和1有效

        返回值:

                0xffffffff:數據沒有轉換好

        其它:

                可用的ADC輸出的數據

 

        基本應用框圖:

 

        應用示例:

 

        bStart_AD=StartADC(nChr); // 啟動ADC,其中,nChr為要啟動的ADC通道號

        if ( bStart_AD != TRUE ) // 判斷ADC是否啟動成功

        {

                printf('ADC%d Initialize Fail!!\n',nChr);

                return -1;

        }

        printf('ADC%d Initialize OK!!\n',nChr);

        for (ni=0 ; ni<20 ; ni++ )

        {

                Do 

                        dwtmp = GetADC(nChr); // 數據讀取 

                while( dwtmp == Invalid ); // 判斷數據是否為有效數據

                dwCLDATA[ni] = dwtmp; // ADC數據緩存

        }

        dwAverage=0; // ADC數據處理,在這里,是進行了20次的平均

        for (ni=0 ; ni<20 ; ni++ ) // 然后再算出相應的輸入信號的電壓值并打印出來

        dwAverage+=dwCLDATA[ni];

        dwAverage/=20;

        // ref 3.3V 10位 (1023)

        // 電壓分辨率Div約為3.2mV

        fVot=(float) (dwAverage*Div)/1000;

        printf('ADC%d Vot %1.2f V\r',nChr,fVot);

        Sleep(500);

主站蜘蛛池模板: 曰本人一级毛片免费完整视频| 在线观看网站黄| 国产精品久久国产精品99| www.久久精品| 天天干夜夜爱| 一本一道久久综合狠狠老| 久久久久青草大香线综合精品| 亚洲国产精品久久日| 国产亚洲精品麻豆一区二区| 成人欧美一区二区三区| 日韩视频不卡| 亚洲码在线中文在线观看| 日本一区二区不卡在线| 免费人成又黄又爽的视频在线| 国模精品视频一区二区三区| 91国自产精品中文字幕亚洲| 国产精品麻豆| 色射影院| 亚洲国产天堂久久综合网站| 6080伦理久久精品亚洲| 日韩美女毛片| 成年免费大片黄在看| 国产二区视频| 国产免费久久精品44| 性大特级毛片视频| 真正国产乱子伦高清对白| 最近的免费中文字幕视频| 精品一区二区三区中文| 美女黄网站人色视频免费国产| 伊人成伊人成综合网2222| 99久久免费国产特黄| 日本一级特黄毛片免费视频9| 本道久久综合88全国最大色| 亚洲精品一区二区乱码在线观看| 优女视频免费观看| 色视频在线观看网站| 免费三级黄| 色片在线播放| 成年人在线免费网站| 成年女人a毛片免费视频| 伊人青青久|