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

📄 adc3002.cpp

📁 一个开源的心电图测量仪驱动和应用软件,可记录
💻 CPP
字号:
// ADC3002.cpp: implementation of the ADC3002 class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "ADC3002.h"
#include "conio.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

ADC3002::ADC3002()
{

}

ADC3002::~ADC3002()
{

}

unsigned short ADC3002::GetChanne_0(unsigned short lpt_port, byte bitrate)
{
	D = 0;
	_outp(lpt_port,(0xff));//start
	_outp(lpt_port,(0xfe));//CS goes lol
	_outp(lpt_port,(0xfc));//clk 0 start bit ->

	_outp(lpt_port,(0xfe));//clk 1 sgl/dif set 0xfe/0xfa
	_outp(lpt_port,(0xfc));//clk 0 sgl/dif ->  oxfc/0xf8
	////////
	_outp(lpt_port,(0xfe));//clk 1 odd/sing set 1
	_outp(lpt_port,(0xfc));//clk 0 odd/sig -> 1

	////
	//set channel 0
	_outp(lpt_port,(0xfa));//clk 1 & MSBF=0 set
	_outp(lpt_port,(0xf8));//clk 0 & MSBF=0 ->
//	//set channel 1
//	_outp(0x378,0xfe);//clk 1 & MSBF=0 set
//	_outp(0x378,0xfc);//clk 0 & MSBF=0 ->
	///////////////////
	_outp(lpt_port,(0xfa));//clk 1 & Null Bit set
	_outp(lpt_port,(0xf8));//clk 0 & Nul Bit ->
	
		//channel 1
	for(int i = 0;i<bitrate;i++)
	{
		_outp(lpt_port,(0xfe));//clk 1
		_outp(lpt_port,(0xfc));//clk 0
		E = (_inp(lpt_port+1) & 128);
		//E=!(_inp(0x378+1) & 128);
		//E =!E;//
		//check for new lpt_ports
		E = E>>7;//inverts signal
		//E = ~E;
		//E = (_inp(0x378)&0x80);//for bi directional lpt_ports
		D = D | E;
		D = D<<1;
	}
	D = D>>1;
	return D;

}

unsigned short ADC3002::GetChanne_1(unsigned short lpt_port, byte bitrate)
{
	D = 0;
	_outp(lpt_port,(0xff));//start
	_outp(lpt_port,(0xfe));//CS goes lol
	_outp(lpt_port,(0xfc));//clk 0 start bit ->

	_outp(lpt_port,(0xfe));//clk 1 sgl/dif set 0xfe/0xfa
	_outp(lpt_port,(0xfc));//clk 0 sgl/dif ->  oxfc/0xf8
	////////
	_outp(lpt_port,(0xfe));//clk 1 odd/sing set 1
	_outp(lpt_port,(0xfc));//clk 0 odd/sig -> 1

	////
	//set channel 0
//	_outp(lpt_port,(0xfa));//clk 1 & MSBF=0 set
//	_outp(lpt_port,(0xf8));//clk 0 & MSBF=0 ->
//	//set channel 1
	_outp(0x378,0xfe);//clk 1 & MSBF=0 set
	_outp(0x378,0xfc);//clk 0 & MSBF=0 ->
	///////////////////
	_outp(lpt_port,(0xfa));//clk 1 & Null Bit set
	_outp(lpt_port,(0xf8));//clk 0 & Nul Bit ->
	
		//channel 1
	for(int i = 0;i<bitrate;i++)
	{
		_outp(lpt_port,(0xfe));//clk 1
		_outp(lpt_port,(0xfc));//clk 0
		E = (_inp(lpt_port+1) & 128);
		//E=!(_inp(0x378+1) & 128);
		//E =!E;//
		//check for new lpt_ports
		E = E>>7;//inverts signal
		//E = ~E;
		//E = (_inp(0x378)&0x80);//for bi directional lpt_ports
		D = D | E;
		D = D<<1;
	}
	D = D>>1;
	return D;

}


⌨️ 快捷键说明

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