📄 driver.c
字号:
#include <sys/io.h>#include <stdio.h>#define SPPDATA(addr) addr#define STATUSPORT(addr) addr+1#define CONTROLPORT(addr) addr+2#define ADDRPORT(addr) addr+3#define DATAPORT(addr) addr+4#define uchar unsigned char#define uint unsigned intint main(void){int i;uint pulse[3],scale[3];uint dac;float dac_tmp;uchar send;uchar rev[16];uchar dir=0x00;iopl(3);while(1){ //脉冲数 outb(0x00,0x37A); outb(0x04,0x37A); outb(0x10,0x37B); for(i=0;i<3;i++) {// scale[i]=(0x1250>>i); scale[i]=125; send=(uchar)((scale[i]>>16)&0x000000ff); outb(send,0x37C); send=(uchar)((scale[i]>>8)&0x000000ff); outb(send,0x37c); send=(uchar)(scale[i]&0x000000ff); outb(send,0x37c); pulse[i]=0x000050; send=(uchar)((pulse[i]>>16)&0x000000ff); outb(send,0x37C); send=(uchar)((pulse[i]>>8)&0x000000ff); outb(send,0x37c); send=(uchar)(pulse[i]&0x000000ff); outb(send,0x37c); } //方向 outb(dir,0x37c); //dac dac_tmp=3; dac=(uint)(dac_tmp/4*4095); send=(uchar)(dac&0x000000ff); outb(send,0x37c); send=(uchar)((dac>>8)&0x000000ff); outb(send,0x37c); //I/O dac=0x00ffffff; send =(uchar)(dac&0x000000ff); outb(send,0x37c); send=(uchar)((dac>>8)&0x000000ff); outb(send,0x37c); send=(uchar)((dac>>16)&0x000000ff); outb(send,0x37c); //读数据 usleep(1000); outb(0x40,0x37B); outb(0x20,0x37A); outb(0x24,0x37A); rev[0]=inb(0x37b); for(i=0;i<16;i++) { rev[i]=inb(0x37c); printf("%02x",rev[i]); if(i==2) printf("; "); if(i==5) printf("; "); if(i==8) printf("; "); } printf("\n");/* rev[i]=inb(0x37c); printf("%02x\n",rev[0]);*//* outb(0x00,0x37A); outb(0x04,0x37A); outb(0x40,0x37B); usleep(1000000); outb(0x20,0x37A); outb(0x24,0x37A); for(i=0;i<3;i++) { rev[i]=inb(0x37c); printf("%x",rev[i]); usleep(1000000); } printf("\n"); outb(0x00,0x37A); outb(0x04,0x37A); outb(0x43,0x37B); outb(0x20,0x37A); outb(0x24,0x37A); for(i=3;i<6;i++) { rev[i]=inb(0x37c); printf("%x",rev[i]); } printf("\n"); outb(0x00,0x37A); outb(0x04,0x37A); outb(0x46,0x37B); outb(0x20,0x37A); outb(0x24,0x37A); for(i=6;i<9;i++) { rev[i]=inb(0x37c); printf("%x",rev[i]); } printf("\n");*/// usleep(interval);} return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -