文章来源:http://www.emtronix.com/article/article2009299.html
在工业控制领域,数字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条评论)
登录后参与讨论