欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

100分gpio该怎么调用

更新时间: 2014-01-05 03:15:14 责任编辑: Author_N1

 

100分请教高手GPIO该如何调用
我这有个D525的工控主板,自带GPIO功能,4进4出。
下面的是厂家告知的GPIO的参数:
BIOS 默认:
GPIO 17,20,27,28 ==>GPO 0(低电平)
GPIO 51,53,54,55 ==>GPI如果要设定GPIO17为1(高电平)
GPIO Base=0x500 + 0x0E(bit1)设为1就可以了,
设为0就是低电平
如果是GPIO51(Input)
那么就读0x500+0x3A(Bit3),读到1就代表输入的是高电平,0就是输入的是低电平

请教高手,如何编写这种D525主板的GPIO调用程序?在网上找了若干,但都无果,好几天了,再搞不定就崩溃了 
--参考方法--
不懂,既然你知道对应的映射地址,直接用指针读写就行了啊

你那个GPIO base有点没看明白
如果是GPIO51(Input)
 那么就读0x500+0x3A(Bit3),读到1就代表输入的是高电平,0就是输入的是低电平
0X500+0x0e+51=?

void SetBit(uint8_t gpio)
{
  volatile uint32_t *ptr;//假设是32位机
  switch(gpio)
  {
     case  51:
     ptr=GPIO51的映射地址
      *ptr=1;//根据情况对该地址的某一位进行或操作
      break;
    case  53:....
}

--参考方法--
这主要取决于你的工控板有没有系统,如果没有系统或有小系统但没有虚拟地址映射,直接访问地址就可以了。

如果有系统,比如linux,就只能做驱动访问了。
--参考方法--
呵呵。换串口继电器模块了啊。
一般而言,厂商应该是提供驱动程序的啊。
如果没有的话,找个winio之类的程序,就可以用它提供的函数来读写端口了。
(XP下是没办法在应用层直接读写端口的,系统保护掉了)
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 03:15:14
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/20154/
本文WWW.DOC100.NET DOC100.NET版权所有。