<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>
  • 工控主板EM9000數字IO的增強擴展

     2009-6-22              

            在工業控制領域,數字IO以其簡單、靈活的特性,得到了廣泛的應用。為了進一步提高英創公司的嵌入式工控主板EM9000上32位數字IO的使用效率,在向下兼容的原則下,我們專門針對數字IO進行了一次增強升級。升級后的數字IO被簡單的規劃為三類,即8位數字輸入DIN0–DIN7、8位數字輸出DOUT0–DOUT7、以及16位通用數字GPIO0–GPIO15,相應地提供了一組新的API函數。對GPIO,新的API函數提供了按位操作的功能。

            為了保護客戶在EM9000上已經進行的開發,整個數字IO的增強擴展都是在與過去功能和代碼完全兼容的前提下進行的,即EM9000原有的數字IO功能及API函數仍然有效。新增的API函數主要是面向新開發而設置。為了方便新API函數的操作,我們在V4.0及以后版本的數據手冊中,采用了新的數字IO信號名稱,新名稱與老名稱的對應關系如下:

    舊名稱

    新名稱

    CN2

    新名稱

    舊名稱

    PIN#

    PIN#

    P1.0

    DIN0

    1

    2

    DIN1

    P1.1

    P1.2

    DIN2

    3

    4

    DIN3

    P1.3

    P1.4

    DIN4

    5

    6

    DIN5

    P1.5

    P1.6

    DIN6

    7

    8

    DIN7

    P1.7

    P2.0

    DOUT0

    9

    10

    DOUT1

    P2.1

    P2.2

    DOUT2

    11

    12

    DOUT3

    P3.0

    P3.1

    DOUT4

    13

    14

    RSTOUT#

    RSTOUT#

    P3.2

    GPIO12

    15

    16

    DOUT7

    P3.3

    P3.4

    DOUT5

    17

    18

    DOUT6

    P3.5

    P4.0

    GPIO8

    19

    20

    GPIO9

    P4.1

    P4.2

    GPIO10

    21

    22

    GPIO11

    P4.3

    P2.3

    GPIO13

    23

    24

    PWM_OUT

    PWM_OUT

    P2.4

    GPIO14

    25

    26

    GPIO15

    P2.5

    P5.0

    GPIO0

    27

    28

    GPIO1

    P5.1

    P5.2

    GPIO2

    29

    30

    GPIO3

    P5.3

    P5.4

    GPIO4

    31

    32

    GPIO5

    P5.5

    P5.6

    GPIO6

    33

    34

    GPIO7

    P5.7

    +5V

    +5V

    35

    36

    +5V

    +5V

    RSTIN#

    RSTIN#

    37

    38

    BATT3V

    BATT3V

    GND

    GND

    39

    40

    GND

    GND

     

      針對新的數字IO所增加的新API函數原型定義如下:

    ///////////////////////////////////////////////////////////////////////////////////////
    // 功能描述:對各個GPIO位執行輸出使能操作,即設置為輸出狀態。
    // 其中EnBit字中比特為1所對應的GPIO位設置為輸出,為0則保持原來的
    // 狀態不變。
    // 注意:對設置為輸出的GPIO,仍然保留了輸入的功能。
    //
    // 輸入參數 EnBits: 16-bit字變量,其中為1的bit位,表示需要輸出使能。
    //
    // EnBits各比特位與EM9000各位GPIO的對應關系如下:
    // ---------------------------------------------------------------------------
    //         輸入參數   | 對應GPIO |   EM9000老定義
    // ---------------------------------------------------------------------------
    //        EnBits.D0 |   GPIO0   |   P5.0 / SA5
    //        EnBits.D1 |   GPIO1   |   P5.1 / SA6
    //        EnBits.D2 |   GPIO2   |   P5.2 / SA7
    //        EnBits.D3 |   GPIO3   |   P5.3 / SA8
    //        EnBits.D4 |   GPIO4   |   P5.4 / SA9
    //        EnBits.D5 |   GPIO5   |   P5.5 / SA10
    //        EnBits.D6 |   GPIO6   |   P5.6 / SA11
    //        EnBits.D7 |   GPIO7   |   P5.7 / SA12
    //        EnBits.D8 |   GPIO8   |   P4.0 / IRQ1
    //        EnBits.D9 |   GPIO9   |   P4.1
    //      EnBits.D10 |   GPIO10 |   P4.2
    //      EnBits.D11 |   GPIO11 |   P4.3
    //      EnBits.D12 |   GPIO12 |   P3.2 / CS0#
    //      EnBits.D13 |   GPIO13 |   P2.3
    //      EnBits.D14 | GPIO14   |   P2.4
    //      EnBits.D15 |   GPIO15 |   P2.5
    // -------------------------------------------------------------------------
    //
    // 返回值 = 0: 操作成功
    // < 0: 操作失敗
    ///////////////////////////////////////////////////////////////////////////////////////
    int PIO_OutEnable( UINT16 EnBits );

    ///////////////////////////////////////////////////////////////////////////////////////
    // 功能描述:對各個GPIO位執行輸出禁止操作。其中DisBit字中為1的對應GPIO位輸
    // 出被禁止,
    // 為0時則保持原來的輸入輸出特性。當輸出被禁止后,該GPIO位只能作為
    // 輸入。
    //
    // 輸入參數 DisBits: 16-bit字變量,其中為1的bit位,表示輸出需禁止。
    //
    // DisBits各比特位與EM9000各位GPIO的對應關系如下:
    // ---------------------------------------------------------------------------
    // 輸入參數 | 對應GPIO | EM9000老定義
    // ---------------------------------------------------------------------------
    // DisBits.D0 | GPIO0 | P5.0 / SA5
    // DisBits.D1 | GPIO1 | P5.1 / SA6
    // DisBits.D2 | GPIO2 | P5.2 / SA7
    // DisBits.D3 | GPIO3 | P5.3 / SA8
    // DisBits.D4 | GPIO4 | P5.4 / SA9
    // DisBits.D5 | GPIO5 | P5.5 / SA10
    // DisBits.D6 | GPIO6 | P5.6 / SA11
    // DisBits.D7 | GPIO7 | P5.7 / SA12
    // DisBits.D8 | GPIO8 | P4.0 / IRQ1
    // DisBits.D9 | GPIO9 | P4.1
    // DisBits.D10 | GPIO10 | P4.2
    // DisBits.D11 | GPIO11 | P4.3
    // DisBits.D12 | GPIO12 | P3.2 / CS0#
    // DisBits.D13 | GPIO13 | P2.3
    // DisBits.D14 | GPIO14 | P2.4
    // DisBits.D15 | GPIO15 | P2.5
    // -----------------------------------------------------------------------------
    //
    // 返回值 = 0: 操作成功
    // < 0: 操作失敗
    ///////////////////////////////////////////////////////////////////////////////////////
    int PIO_OutDisable( UINT16 DisBits );

    ///////////////////////////////////////////////////////////////////////////////////////
    // 功能描述:對輸出使能的GPIO位,其中SetBits為1的GPIO對應位被置高電平, 為0
    // 不變。
    //
    // 輸入參數 SetBits: 16-bit字節變量,其中為1的bit位,表示需要置1的位。
    //
    // SetBits各比特位與EM9000各位GPIO的對應關系如下:
    // -------------------------------------------------
    // 輸入參數 | 對應GPIO | EM9000老定義
    // -------------------------------------------------
    // SetBits.D0 | GPIO0 | P5.0 / SA5
    // SetBits.D1 | GPIO1 | P5.1 / SA6
    // SetBits.D2 | GPIO2 | P5.2 / SA7
    // SetBits.D3 | GPIO3 | P5.3 / SA8
    // SetBits.D4 | GPIO4 | P5.4 / SA9
    // SetBits.D5 | GPIO5 | P5.5 / SA10
    // SetBits.D6 | GPIO6 | P5.6 / SA11
    // SetBits.D7 | GPIO7 | P5.7 / SA12
    // SetBits.D8 | GPIO8 | P4.0 / IRQ1
    // SetBits.D9 | GPIO9 | P4.1
    // SetBits.D10 | GPIO10 | P4.2
    // SetBits.D11 | GPIO11 | P4.3
    // SetBits.D12 | GPIO12 | P3.2 / CS0#
    // SetBits.D13 | GPIO13 | P2.3
    // SetBits.D14 | GPIO14 | P2.4
    // SetBits.D15 | GPIO15 | P2.5
    // -------------------------------------------------
    //
    // 返回值 = 0: 操作成功
    // < 0: 操作失敗
    ///////////////////////////////////////////////////////////////////////////////////////
    int PIO_OutSet( UINT16 SetBits );

    ///////////////////////////////////////////////////////////////////////////////////////
    // 功能描述:對輸出使能的GPIO位,其參數ClearBits字中比特位為1所對應的
    // GPIO位被置為低電平, 為0不變。
    //
    // 輸入參數 ClearBits: 16-bit字節變量,其中為1的bit位,表示需要置1的位。
    //
    // ClearBits各比特位與EM9000各位GPIO的對應關系如下:
    // ----------------------------------------------------
    // 輸入參數 | 對應GPIO | EM9000老定義
    // ----------------------------------------------------
    // ClearBits.D0 | GPIO0 | P5.0 / SA5
    // ClearBits.D1 | GPIO1 | P5.1 / SA6
    // ClearBits.D2 | GPIO2 | P5.2 / SA7
    // ClearBits.D3 | GPIO3 | P5.3 / SA8
    // ClearBits.D4 | GPIO4 | P5.4 / SA9
    // ClearBits.D5 | GPIO5 | P5.5 / SA10
    // ClearBits.D6 | GPIO6 | P5.6 / SA11
    // ClearBits.D7 | GPIO7 | P5.7 / SA12
    // ClearBits.D8 | GPIO8 | P4.0 / IRQ1
    // ClearBits.D9 | GPIO9 | P4.1
    // ClearBits.D10 | GPIO10 | P4.2
    // ClearBits.D11 | GPIO11 | P4.3
    // ClearBits.D12 | GPIO12 | P3.2 / CS0#
    // ClearBits.D13 | GPIO13 | P2.3
    // ClearBits.D14 | GPIO14 | P2.4
    // ClearBits.D15 | GPIO15 | P2.5
    // ----------------------------------------------------
    //
    // 返回值 = 0: 操作成功
    // < 0: 操作失敗
    ///////////////////////////////////////////////////////////////////////////////////////
    int PIO_OutClear( UINT16 ClearBits );

    ///////////////////////////////////////////////////////////////////////////////////////
    // 功能描述:讀取GPIO狀態到*pInValue。
    // 若pInValue為NULL,函數將直接退出,返回-1。
    //
    // 輸出參數 pInValue: 指向16-bit字變量,函數操作后為讀入的GPIO狀態值。
    // *pInValue各比特與GPIO各位的對應關系與其他PIO_XXX(...)函
    // 數一致。
    //
    // 返回值 = 0: 操作成功
    // < 0: 操作失敗
    ///////////////////////////////////////////////////////////////////////////////////////
    int PIO_State( UINT16* pInValue );

    ///////////////////////////////////////////////////////////////////////////////////////
    // 功能描述:返回DIN的8bit狀態。
    //
    // 返回8-bit數據與EM9000相應管腳對應關系
    // ----------------------------------------
    // 返回值 | EM9000老定義
    // ----------------------------------------
    // DIN.D0 | P1.0 / SD0
    // DIN.D1 | P1.1 / SD1
    // DIN.D2 | P1.2 / SD2
    // DIN.D3 | P1.3 / SD3
    // DIN.D4 | P1.4 / SD4
    // DIN.D5 | P1.5 / SD5
    // DIN.D6 | P1.6 / SD6
    // DIN.D7 | P1.7 / SD7
    // ----------------------------------------
    //
    ///////////////////////////////////////////////////////////////////////////////////////
    UCHAR DIN( );

    ///////////////////////////////////////////////////////////////////////////////////////
    // 功能描述:設置DOUT的8bit狀態。
    //
    // 輸入參數 ucValue: 8-bit字節變量,對應DOUT各個輸出位。
    //
    // ucValue各比特位與EM9000各位DOUT的對應關系如下:
    // ----------------------------------------------------------------------------
    //    輸入參數    | 對應GPIO | EM9000老定義
    // ----------------------------------------------------------------------------
    // ucValue.D0 |   DOUT0   | P2.0 / SA0
    // ucValue.D1 |   DOUT1   | P2.1 / SA1
    // ucValue.D2 |   DOUT2   | P2.2 / SA2
    // ucValue.D3 |   DOUT3   | P3.0 / SA3
    // ucValue.D4 |   DOUT4   | P3.1 / SA4
    // ucValue.D5 |   DOUT5   | P3.4 / WE#
    // ucValue.D6 |   DOUT6   | P3.5 / RD#
    // ucValue.D7 |   DOUT7   | P3.3 / CS1#
    // ----------------------------------------------------------------------------
    //
    ///////////////////////////////////////////////////////////////////////////////////////
    void DOUT( UCHAR ucValue );

     

      新的API函數將包含在EM9000_ISA_API.LIB庫中,為了使用這些新API函數,一種方法是客戶從英創網站下載新的SDK,并重新安裝;另一種方法是像英創技術支持部門索取新的EM9000_ISA_API.LIB文件,并拷貝到SDK的相關目錄中。新的API函數均定義在頭文件“EM9000_DIO_EX.H”中,應用程序在調用這些函數時,需包含這個頭文件。

    精品国产乱子伦一区二区三区| 99精品众筹模特私拍在线| 精品国产麻豆免费网站| 久久国产精品久久久久久| 亚洲国产精品无码久久久久久曰| 国产精品一区二区久久乐下载| 国产香蕉九九久久精品免费| 国产一精品一AV一免费孕妇| 精品亚洲视频在线| 日韩精品免费一区二区三区| 亚洲蜜芽在线精品一区| 亚洲av永久无码精品三区在线4| 1313午夜精品久久午夜片| 国产精品久久毛片完整版| 久久精品免费全国观看国产| 亚洲精品动漫免费二区| 12345国产精品高清在线| 日本一二三精品黑人区| 在线精品自偷自拍无码中文| 国产精品视频一区国模私拍| 国产模特众筹精品视频| 亚欧无码精品无码有性视频 | 99精品视频免费| 91精品国产综合久久久久久| 久久91综合国产91久久精品| 无码人妻丰满熟妇精品区| 97久久精品一区二区三区| 99热在线精品免费全部my| 日韩精品中文字幕视频一区| 免费精品视频在线| 国产综合成人色产三级高清在线精品发布 | 国产精品黄大片在线播放| 亚洲国产精品成人久久蜜臀 | 国产精品自拍亚洲| 无码国内精品久久人妻麻豆按摩 | 国产精品嫩草影院久久| 精品人妻少妇一区二区三区| 午夜精品在线视频| 永久免费精品影视网站| 国产午夜精品免费一区二区三区| 亚洲色图国产精品|