0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

英创信息技术工控主板EM9000数字IO增加介绍

英创信息技术 来源:英创信息技术 作者:佚名 2019-11-05 09:50 次阅读

工业控制领域,数字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”中,应用程序在调用这些函数时,需包含这个头文件。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式主板
    +关注

    关注

    7

    文章

    6081

    浏览量

    34921
收藏 人收藏

    评论

    相关推荐

    工控主板产品选型指南

      成都信息技术有限公司是一家专注于嵌入式工控主板研发、销售与服务的高科技公司,在嵌入式领域已有超16年的从业经历。
    发表于 02-28 11:28

    EM9000工控主板使用特点分析

     EM9000工控主板是一款预装Window CE操作系统的高性能嵌入式主板产品,在进入市场两年多时间里得到了客户的广泛认可,已成为
    的头像 发表于 11-08 16:11 1361次阅读

    信息技术工控主板EM9360的GPIO介绍

    公司的ARM9工控主板产品 EM9360是一款预装WinCE操作系统,以多种通讯接口、支持各种扩展为其
    的头像 发表于 11-14 09:34 2289次阅读

    信息技术工控主板的复位管理介绍

     公司的工控主板是基于ARM9 CPU、预装正版WinCE的嵌入式主板产品。作为嵌入式应用,系统的可靠启动是其可靠性的重要组成部分。本文
    的头像 发表于 11-14 10:03 1543次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b><b class='flag-5'>工控</b><b class='flag-5'>主板</b>的复位管理<b class='flag-5'>介绍</b>

    信息技术工控主板EM9000串口扩展介绍

    EM9000工控主板公司的主流产品之一,以突出的综合性性能为特色,特别是Windows CE平台与
    的头像 发表于 11-15 09:19 1630次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b><b class='flag-5'>工控</b><b class='flag-5'>主板</b><b class='flag-5'>EM9000</b>串口扩展<b class='flag-5'>介绍</b>

    信息技术工控主板支持电力终端标准显示介绍

     公司EM9X60系列工控主板广泛应用于电力行业,在最新的国家电网公司技术标准《电力用户用电
    的头像 发表于 11-15 09:59 1590次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b><b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>工控</b><b class='flag-5'>主板</b>支持电力终端标准显示<b class='flag-5'>介绍</b>

    信息技术EM9000工控主板的版本信息管理概述

    EM9000公司极具特色的一款ARM9工控主板。经过长时间的完善,现系统已完全稳定。
    的头像 发表于 11-17 11:23 1605次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b><b class='flag-5'>EM9000</b><b class='flag-5'>工控</b><b class='flag-5'>主板</b>的版本<b class='flag-5'>信息</b>管理概述

    信息技术工控主板EM9160对红外通讯用途介绍

    公司的EM9160是一款高性价比的工控主板,预装正版WinCE5.0操作系统,具有极强的通讯能力。在电力电表的应用中,红外通讯是一种非常
    的头像 发表于 11-18 09:58 1164次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b><b class='flag-5'>工控</b><b class='flag-5'>主板</b><b class='flag-5'>EM</b>9160对红外通讯用途<b class='flag-5'>介绍</b>

    信息技术ARM9工控主板的ETA754 PWM模块应用

    PWM(Pulse-Width Modulation)在电源管理、电机控制等场所的应用非常广泛。公司的嵌入式工控主板也充分地考虑到了这样的应用需求,所以在
    的头像 发表于 01-15 11:22 1405次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b>ARM9<b class='flag-5'>工控</b><b class='flag-5'>主板</b>的ETA754 PWM模块应用

    信息技术工控主板彩色LCD屏安装与连接简介

    公司的工控主板EM9000EM9161、EM9
    的头像 发表于 01-15 13:59 1756次阅读

    信息技术EM9560工控主板GPIO的使用介绍

    EM9560工控主板是以EM9460工控主板为基础,并针对客户应用的需求,
    的头像 发表于 01-15 14:48 1497次阅读

    信息技术EM9560工控主板专用数字IO的使用介绍

    EM9560工控主板是以EM9460工控主板为基础,并针对客户应用的需求,
    的头像 发表于 01-15 14:25 1345次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b><b class='flag-5'>EM</b>9560<b class='flag-5'>工控</b><b class='flag-5'>主板</b>专用<b class='flag-5'>数字</b><b class='flag-5'>IO</b>的使用<b class='flag-5'>介绍</b>

    信息技术EM9380工控主板实时控制应用介绍

    EM9380是公司针对高速实时应用设计的一款双CPU工控主板,主CPU采用了FreeScale 454MHz ARM9 iMX283,
    的头像 发表于 01-17 08:48 1253次阅读

    信息技术工控主板EM335x主要技术指标介绍

    工控主板EM335x是公司新近推出的新一代嵌入式主板产品。本着高效、低成本的产品理念,
    的头像 发表于 01-17 09:06 1528次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b><b class='flag-5'>工控</b><b class='flag-5'>主板</b><b class='flag-5'>EM</b>335x主要<b class='flag-5'>技术</b>指标<b class='flag-5'>介绍</b>

    信息技术工控主板产品选型指南介绍

    成都信息技术有限公司是一家专注于嵌入式工控主板研发、销售与服务的高科技公司,在嵌入式领域已有18年的从业经历。
    的头像 发表于 02-06 11:31 1578次阅读