<strike id="kiyse"></strike>
  • <tr id="kiyse"></tr>
  • <strike id="kiyse"></strike><samp id="kiyse"><tbody id="kiyse"></tbody></samp>
    <strike id="kiyse"><s id="kiyse"></s></strike>
    <tr id="kiyse"></tr>
    <noframes id="kiyse"><code id="kiyse"></code></noframes>
    <th id="kiyse"></th>
    <samp id="kiyse"></samp>
  • <th id="kiyse"><s id="kiyse"></s></th>
  • 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);

    黑人无码精品又粗又大又长| 亚洲第一精品电影网| 精品一区二区三区视频在线观看| 国产精品乱子乱XXXX| 久久国产成人亚洲精品影院| 日韩精品久久无码中文字幕| 九九九精品成人免费视频| 日本伊人精品一区二区三区| 亚洲色精品aⅴ一区区三区| 国产成人综合久久精品亚洲| 国产精品视频免费观看| 久久se精品一区二区国产 | 国产日产韩国精品视频| 国产产在线精品亚洲AAVV| 日韩av无码久久精品免费| 日韩精品无码人成视频手机| 亚洲国产婷婷综合在线精品| 妇女自拍偷自拍亚洲精品| 2018国产精华国产精品| 精品午夜福利在线观看| 久久精品国产成人AV| 国产伦精品一区二区三区无广告 | 午夜精品在线免费观看| 精品国产99久久久久久麻豆| 久久99精品久久久| 精品亚洲永久免费精品| 亚洲无线观看国产精品| 在线观看自拍少妇精品| 久久精品成人影院| 精品久人妻去按摩店被黑人按中出 | 色综合91久久精品中文字幕| 国产精品视频第一页| 国产精品嫩草影院人体模特| 91精品久久久久久久久久小网站| 亚洲精品私拍国产福利在线| 亚洲国产成人一区二区精品区| 国产精品区免费视频| 成人国产精品一区二区网站| 国产成人精品无缓存在线播放| 在线观看91精品国产不卡免费| 日本精品久久久久久福利|