[Armadillo:00285] pbdr0へ値が書き込めない

takahashi takamichi email@hidden
2005年 5月 18日 (水) 15:34:50 JST


お世話になっております。高橋と申します。

Armadilloボードで、pbdr0に値が書き込めません。
ソフトウェアマニュアル 18ページのパラレルポート操作のサンプルを
そのまま使いました。サンプルで、pbdr0に1をwriteする所を、
0に変えてwriteした後、readしても1と表示されます。

ポートBを使用する際は、何か設定が必要なのでしょうか?
よろしくお願い致します。

ボードの環境は、ホームページからダウンロードした
ユーザランドとイメージを書き込んで使用しました。
initrd-1.1.2.img.gz  
Image-1.1.2

以下コード*******************************************
#include <fcntl.h>
#include <stdio.h>

int main( void )
{
	int fd_ddr, fd_dr;
	unsigned char val;
	
	fd_ddr = open("/dev/pbddr0", O_WRONLY|O_SYNC);
	if ( fd_ddr < 0 ) {
		fprintf(stderr, "Open ddr error.\n");
		return -1;
	}
	fd_dr = open("/dev/pbdr0", O_RDWR|O_SYNC);
	if ( fd_dr < 0 ) {
		fprintf(stderr, "Open dr error.\n");
		return -1;
	}
	
	val = 1;
	write(fd_ddr, &val, sizeof(unsigned char));

	val = 0;  /*** ここを1から0に変えた ***/
	write(fd_dr, &val, sizeof(unsigned char));
	
	val = 0;
	write(fd_ddr, &val, sizeof(unsigned char));
	read(fd_dr, &val, sizeof(unsigned char));
	printf("dr:%d\n", val);
	
	close( fd_ddr );
	close( fd_dr );
	
	return 0;
}



armadillo メーリングリストの案内