当前位置: 代码迷 >> 驱动开发 >> linux下怎么使用io进行并行传输数据
  详细解决方案

linux下怎么使用io进行并行传输数据

热度:15   发布时间:2016-04-28 10:53:51.0
linux下如何使用io进行并行传输数据
我使用2440开发板,将8个io端口设定为输出后,怎么将数据传递给io端口,实现并行输出数据

------解决方案--------------------
unsigned long value,data,port;
value = gpioread(port;
value &=((~0x0F)<< n);
value |= (data)<<n;
gpiowrite(port,value);
data为你要写的8位并行数据,port为你要写的那个端口,n是你要从这个端口中选取的8个I/O口,当然这里是假定里的I/O选取是在这个端口上连续的选取的。不是连续的话,需要类似的改改。

代码类似于这样写,但如果直接用话,可能不行,需要自己调试一下。2440的IO端口应该是32位的一般。
这个操作应该不难,难的是你怎么做数据同步呢,并行数据一般都很快的,不然意义不大,那不如用串行。
用另外的信号线来做数据同步,或者说是外设支持中断的话,用外部中断信号来做同步。