こんにちは
Linuxで外部ハードをコントロールしようと思い、まずプリンタポートからLED点灯させるプログラムを書籍でみつけて(LinuzMagazine 2005/9)
コンパイルしましたがrootで実行したら、以下のようになります。
[root@P4G sus]# ./led1.o
bash: ./led1.o: 許可がありません
なぜ実行できないのか自分なりに調べましたがわかりません。プログラム自体は間違っていないようにみえますが。
どこが間違っているのかご教授して頂けないでしょうか?
Vine3.1 カーネル2.4.27-0vl7
gcc-3.3.2
ソースプログラム led1.c
#include <stdio.h>
#include <fcntl.h>
#include <sys/types.h>
#include <unistd.h>
#define DPORT 0x378
#define RPORT 0x379
#define CPORT 0x37a
main() {
int pfd;
unsigned char data;
pfd = open( "dev/port", O_RDWR );
lseek( pfd, CPORT , SEEK_SET);
data = 0x00;
write( pfd, &data, 1 );
while(1){
lseek( pfd, DPORT ,SEEK_SET );
data = 0xff;
write( pfd, &data, 1 );
sleep(1);
lseek( pfd, DPORT ,SEEK_SET );
data = 0x00;
write( pfd, &data, 1 );
sleep(1);
}
}