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

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);

主站蜘蛛池模板: 在线成年视频免费观看| 加勒比一道本综合| 国产性大片免费播放网站| 999人在线精品播放视频| 自拍视频国产| 99ri精品国产亚洲| 久久久青青草| 五月天六月婷婷开心激情| xxxxxxx免费| 日本一本色道免费视频| 亚洲精品乱无伦码| 国产精品亚洲二区| 91视频高清| 国产偷国产偷亚洲高清在线| 日产国产欧美视频一区精品| 在线视频精品免费| 一级毛片在线播放免费| 日本高清在线不卡| 欧美一级三级| 高清毛片aaaaaaaaa片| sese在线| 国产成人影院一区二区| 精品国产福利在线观看91啪| 99re66精品视频在线观看| 久热精品视频在线| 日韩性黄色一级| 亚洲午夜精品一区二区| 成人欧美一区二区三区白人| 欧美bbww| 欧美一级毛片久久精品| 国产4p露脸在线观看| 国产成人精品亚洲2020| 国产精品久久久久久久午夜片| 高清三级毛片| 黄色带三级1| 精品欧美成人高清视频在线观看| 国产99久久九九精品免费| 国产污视频| 国产青榴社区91精品| 国产亚洲精品美女久久久久| 精品一区二区三区在线播放|