首页 新闻 工控搜 论坛 厂商论坛 产品 方案 厂商 人才 文摘 下载 展览
中华工控网首页
  P L C | 变频器与传动 | 传感器 | 现场检测仪表 | 工控软件 | 人机界面 | 运动控制
  D C S | 工业以太网 | 现场总线 | 显示调节仪表 | 数据采集 | 数传测控 | 工业安全
  电 源 | 嵌入式系统 | PC based | 机柜箱体壳体 | 低压电器 | 机器视觉
工控主板EM9000数字IO的增强扩展
英创信息技术有限公司
收藏本文     查看收藏

  在工业控制领域,数字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信号名称,新名称与老名称的对应关系如下:

  针对新的数字IO所增加的新API函数原型定义如下:

  针对新的数字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”中,应用程序在调用这些函数时,需包含这个头文件。


 

状 态: 离线

公司简介
产品目录

公司名称: 英创信息技术有限公司
联 系 人: 李林
电  话: 028-86180660
传  真: 028-85141028
地  址: 成都市高新区高朋大道5号博士创业园
邮  编: 610041
主  页:
 
该厂商相关技术文摘:
GPRS集抄单元整机方案
DOS工控主板的TCP/IP应用
低成本LCD的选型与使用
ARM9工控主板支持断点续传的FTP文件传送
嵌入式数据库SQLCE的开发与应用
C#使用COM组件接口操作精简ISA总线
基于精简ISA总线的CE设备驱动程序
工控主板EM9360的GPIO的各种使用方法
英创工控主板同时驱动RS232和RS485的方法
ARM9工控板在远程监控中的应用
主板EM9161实现音频输出的方法
更多文摘...
立即发送询问信息在线联系该技术文摘厂商:
用户名: 密码: 免费注册为中华工控网会员
请留下您的有效联系方式,以方便我们及时与您联络

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 不良信息举报
工控网客服热线:0755-86369299
版权所有 中华工控网 Copyright©2022 Gkong.com, All Rights Reserved