⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 eepdriver.cpp

📁 并口回送驱动程序
💻 CPP
字号:
#include "driver.h"
#include "EEPDriver.h"
#define outp WRITE_PORT_UCHAR
#define inp READ_PORT_UCHAR

void delay(int d)
{
	int i,j;
	for(i=0; i<100; i++)
		for(j=0; j<d; j++);
}
void awr(int data)
{ 
	outp(DPORT,data);
    outp(CPORT,0x0d);
    outp(CPORT,0X04);
}
void dwr(int data)
{
	outp(DPORT,data);
    outp(CPORT,0x07);
    outp(CPORT,0x04);
}
int rd()
{
	int data;
    outp(CPORT,0x26);
    data=inp(DPORT);
    outp(CPORT,0x04);
    return data;
}
void inicoder()
{ 
	outp(CPORT,0x04);
    delay(100);
    outp(CPORT,0x00);
    outp(CPORT,0x04);
}

long encoder()
{
	long value;
    int lsb,msb;
    awr(ENCODERL);
    lsb=rd();
    awr(ENCODERM);
    msb=rd();
    //value=msb*256+lsb;
    value=((msb + 0x08) & 0x0f)*256+lsb;
    awr(255);
    return value;
}

unsigned char rdttl()
{
	int data;
    awr(TTL_IN);
    data=rd();
    return data;
}


void button()
{
	int data;
    awr(SW_ADD);
    for(data=0;data<=255;data++)
	{
		dwr(data);
	    delay(500);
	}
}
long rd197(int channel)
{
	long result;
    int cmd=0;
    int eoc;
    int lsb;
    int msb;
    switch (channel)
    {
	case 1: cmd=0x48;break;
	case 2: cmd=0x49;break;
	case 3: cmd=0x4a;break;
	case 4: cmd=0x4b;break;
	case 5: cmd=0x4c;break;
	case 6: cmd=0x4d;break;
	case 7: cmd=0x4e;break;
	case 8: cmd=0x4f;break;
    default:cmd=0x48;
    }
    awr(MAX197L);
    dwr(cmd);
    eoc=inp(SPORT);
    //printf("%x",(eoc&&0x10));

wait:   if((eoc&&0x10)==0) goto wait;
        else
		{
	      lsb=rd();
	      //printf("\nCH%d 's LSB=%10d",channel,lsb);
	      awr(MAX197M);
	      msb=rd();
	      //printf("\nCH%d 's MSB=%10d\n",channel,msb);
	      awr(255);
	      //result=msb*256+lsb;
          result=((msb +0x08) & 0x0f)*256+lsb;
	      return result;
        }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -