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

工控主板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”中,應用程序在調用這些函數時,需包含這個頭文件。

主站蜘蛛池模板: 高清在线精品一区二区| 亚洲精品国产第一区二区尤物| 免费一级毛片在级播放| 性色生活片| 日韩中文字幕视频在线观看| 一级毛片a女人刺激视频免费| 亚洲欧美日韩综合在线一区二区三区| 国内一级特黄女人精品毛片| 特级黄色录像片| 久久香蕉国产| 又黄又爽又成人免费视频| 欧美一级二级三级视频| 精品精品国产欧美在线观看| 欧美日韩视频在线| 一区不卡视频| 日韩大片在线播放| 亚洲国产精品综合久久20| 国产精选第一页| 99视频精品免费99在线| 国产自啪啪| 一本到不卡| 午夜国产在线视频| 欧美a欧美1级| 国产一级一片免费播放刺激| 成人在线视频网| 日韩系列在线| a级毛片无码免费真人| 老年人毛片| 在线观看www视频| 欧美性爽xxxⅹbbbb| 国产免费拍拍视频在线观看网站| 国产福利不卡| 欧美日韩亚洲一区二区三区| 午夜高清性色生活片| 亚洲午夜免费| 小明免费| 久久国产亚洲欧美日韩精品| 成人在线免费观看视频| 免费一级毛片在线播放视频| 欧美卡1卡2卡三卡网站入口| 国产精品秦先生手机在线|