当前位置: 代码迷 >> WinCE >> s3c6410的GPIO有关问题
  详细解决方案

s3c6410的GPIO有关问题

热度:3   发布时间:2016-04-28 13:12:49.0
s3c6410的GPIO问题
请问高手,给GPIO的端口发送数据咋能啊.比如给GPIOK0口发送1,或者0.这个咋操作啊
是不是操作GPIO的GPKDATA寄存器来进行输出数据发送啊.
急急.
谢谢
大侠

------解决方案--------------------
首先要设置成输出,然后再设置IO口的值
------解决方案--------------------
直接写GPIO的数据寄存器
------解决方案--------------------
探讨

这个配置能好了.现在要给指定的io口上发数据.GPIO的
就这个发数据咋能.具体点.谢谢
急急

------解决方案--------------------
先要设置成输出(GPACON),然后再设置IO口的值,即拉高拉低(GPADAT)
------解决方案--------------------
置IO口要通过或/与来实现: 以E口第8bit为例,标准写法:

置0:rGPEDAT &= ~(1<<8); // 置0

置1:rGPEDAT |= (1<<8); // 置1

这样做既不影响别的IO口,也不易写错
------解决方案--------------------
IO口只能拉高拉低,你就反复的写使能寄存器或置零寄存器就可以了。
------解决方案--------------------
先要配置IO寄存器,输入或者输出,然后再赋值或读取数据
------解决方案--------------------
探讨

引用:

这个配置能好了.现在要给指定的io口上发数据.GPIO的
就这个发数据咋能.具体点.谢谢
急急


例如:
先设置输出:
v_pGPIORegs->GPQCON |= 0x00001000;
然后设置电平:
v_pGPIORegs->GPQDAT |= 0x00000040;

具体你可以对照手册,你就知道咋整了

------解决方案--------------------
还有上拉/下拉寄存器配置.
如果在同一个寄存器中操作多个IO口,这个要注意,仔细点.我记得以前高过一个,就因为粗心,在一个寄存器中高2个不相连的io口,感觉很简单,其实也就是很简单的,结果整的我那示波器测了又测,结果最后是在没办法,找了别人帮忙看了代码,发现一个很低级的错误.
加油
  相关解决方案