作者markchen ()
看板LinuxDev
标题[问题]平行埠的单一bit资料的存取
时间Mon Apr 7 18:45:47 2008
请教一下各位
我利用linux 系统存取 parallel port
其中
http://www.bioinspired.com/users/ajg112/electronics/parallelPort.shtml
D0~D7 是一个byte的资料
我想一次只针对一个bit来作写入的动作,不知道它是否有相对应的函式/api之类的
以下这是网路上看到的code
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <asm/io.h>
#define base 0x378 /* printer port base address */
#define value 255 /* numeric value to send to printer port */
main(int argc, char **argv)
{
if (ioperm(base,1,1))
fprintf(stderr, "Couldn't get the port at %x\n", base), exit(1);
outb(value, base); //这一段是针一个byte作写入的动作
}
而我想要作是的一次只写一个bit
例如
D0 = 1;之类的
另外请问 如果 我要透过parallel取得目标装置所发出来的信号
那parallel port D0~D7的脚要如何取对方送来的资料?
它是否有输出输入方向的设定问题?!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.218.239.206
1F:推 TroyLee:先读进来, 看你要set还是clr那个bit, 设定上去在写进去 04/07 21:10
2F:推 elpam:去读一下spec吧 google得到..还有人写module的tutorial 04/07 23:10
3F:→ elpam:然後记得bios要设对 04/07 23:12
4F:→ markchen:事实上我现在比较烦恼的是否有函式针一个BIT作写入的动作 04/08 00:30
5F:推 kenlo1980:楼上可以写 MACRO 啊,很多 code 都这样做。 04/08 02:12
6F:→ kenlo1980:或是 in 进来後用 | 1 然後再 out 啊。 04/08 02:15