首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > WinCE >

s3c6410的GPIO有关问题

2012-04-15 
s3c6410的GPIO问题请问高手,给GPIO的端口发送数据咋能啊.比如给GPIOK0口发送1,或者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口,感觉很简单,其实也就是很简单的,结果整的我那示波器测了又测,结果最后是在没办法,找了别人帮忙看了代码,发现一个很低级的错误.
加油

热点排行