用什么函数读写GPIO?
GPIO与文件IO到底是什么关系啊?读写串口用文件IO,因为对于操作系统来说串口就是文件,那GPIO是什么呢?怎么操作呢?
上网搜了半天都没有关于GPIO的资料!
问题点数:60、回复次数:12Top
1 楼frankiemaya()回复于 2006-12-06 10:49:10 得分 0
GPIO可以用来跟外部不件进行通信,比如你可以把一个闪烁灯连到GPIO,通过读写GPIO得位数来
进行控制外部部件Top
2 楼frankiemaya()回复于 2006-12-06 10:53:05 得分 0
记得给分。。。Top
3 楼awjx(啦啦啦)回复于 2006-12-06 11:11:05 得分 0
4 楼frankiemaya()回复于 2006-12-06 11:14:57 得分 0
5 楼awjx(啦啦啦)回复于 2006-12-06 11:27:08 得分 0
6 楼frankiemaya()回复于 2006-12-06 11:35:36 得分 0
你懂得了问题的最基本的方法不就可以自己写函数了吗。为什么非要调用别人写的函数呢!
//难道操作GPIO还有多种方法?
同样的实现原理,写出1000个函数你都行
不要局限别人给你的接口,特别是在嵌入开发Top
7 楼awjx(啦啦啦)回复于 2006-12-06 13:20:46 得分 0
装了linux,听说这些GPIO都要写驱动的,而不是能通过linux系统调用直接控制GPIO,(是这样吗?)
但主板的随机盘并没有这个GPIO的驱动,代理商也搞不清,所以只好在此求助!
你说的“用位与,跟位或操作”,难道对所有的主板都一样吗?不需GPIO的驱动?
Top
8 楼frankiemaya()回复于 2006-12-06 13:45:52 得分 0
9 楼awjx(啦啦啦)回复于 2006-12-06 14:20:10 得分 0
10 楼frankiemaya()回复于 2006-12-06 14:54:01 得分 60
{
unsigned int *p;
unsigned int data;
//get data of pp11
p = (int *)0xf003001C;//0xf003001C 是某个GPIO端口的地址
data = *p; //得到这个端口的值,就像得到一个寄存器一样
//turn on or turn off the led
if(state == 1)
{
*p = data & 0x0;//clear PP0,Led on,把第一位设置为0,开灯
}
else if(state == 0)
{
*p = data | 0x1;//set PP0,Led off,把第一位设置为1,关灯
}
return *p;
}Top