发表于:2003-09-24 11:54:00
楼主
我的以下对i/o读写操作的程序,用gcc编译后执行提示"段错误",不知道问题出在哪?请各位帮忙指点.谢谢! (在linux下编的程序)
#include<linux/ioport.h>
#include<asm/io.h>
#include<stdio.h>
#define port 0x250
void main()
{
int i;
int dl;
int dh;
float b=10/4.096;
float dn[16];
outb_p(0x05,port+4);
while(1)
{
for(i=0;i<16;i++)
{
outb_p(i,port); //向0X250地址写入i
outb_p(0,port+1);//向0X250+1地址写入0
do
{
dh=inb_p(port+3);//读0X250+3地址内容i
}while(dh&0x80==0x80);
dl=inb_p(port+2);
dh=inb_p(port+3);
dn[i]=((dh&15)*256+dl)*b/1000;
printf("输出值是%f\n",dn[i]);
}
}
}