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

📄 sbsadtd.h

📁 本程序为盛博ADT系列接口系列的实例程序
💻 H
字号:
/*

	SBSADTD.H
	
	SB Systems Corporation ADT Driver
	Version 3.00

	Copyright (c) SB Systems Corporation 2005
	All Rights Reserved.
	
	http://www.sbs.com.cn

	SBSADT currently supports these boards:

	ADT652		0
	ADT680		1
	ADT860		2

	ADT600		10
	ADT650 		11 
	ADT700		12
	ADT700A		13
	ADT800		14
*/


#ifndef _SBS_ADT_H
#define _SBS_ADT_H

/* MS Visual C++ > 1.52 only - 1-byte structure alignment */
#ifndef MSVC_1_52
#ifdef _MSC_VER
#pragma pack(push, sbsud_packing)
#pragma pack(1)
#endif
#endif

#ifdef __cplusplus
extern "C" {
#endif

/*/////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////// Type Definitions ////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////// */

#ifndef BYTE
#define BYTE unsigned char
#endif


#ifndef SBYTE
#define SBYTE signed char
#endif


#ifndef WORD
#define WORD unsigned short
#endif


#ifndef SWORD
#define SWORD signed short
#endif


#ifndef DWORD
#define DWORD unsigned long
#endif


#ifndef SDWORD
#define SDWORD signed long
#endif


#ifndef LONG
#define LONG signed long
#endif


#ifndef FLOAT
#define FLOAT float
#endif


#ifndef DFLOAT
#define DFLOAT double
#endif


#ifndef BOOL
#define BOOL int
#endif


#ifndef TRUE
#define TRUE ((BOOL)1)
#endif


#ifndef FALSE
#define FALSE ((BOOL)0)
#endif


#ifndef SBSSAMPLE
#define SBSSAMPLE SWORD
#endif

#ifndef SBSDACODE
#define SBSDACODE DWORD
#endif

typedef void (*SBSUserInterruptFunction) (void* parameter);

#ifdef WIN32
#define SBSADTAPICALL __declspec(dllexport)
#define SBSADTSTALL _stdcall
#else /* WIN32 not defined */
#define SBSADTAPICALL 
#define SBSADTSTALL 
#endif /* #ifdef WIN32 */

/*/////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
//////////////////// API Function Prototypes //////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////// */

/*////////////////////////////
// Error-Handling Functions //
/////////////////////////// */

SBSADTAPICALL BYTE SBSADTSTALL sbsGetLastError(ERRPARAMS* errparams);
SBSADTAPICALL char* SBSADTSTALL sbsGetErrorString(BYTE error_code);

/*////////////////////////////
// Initialization Functions //
/////////////////////////// */

SBSADTAPICALL BYTE SBSADTSTALL sbsInit(WORD version);
SBSADTAPICALL BYTE SBSADTSTALL sbsFree(void);
//SBSADTAPICALL int  SBSADTSTALL sbsInitBoard(SBSCB* sbscb, SBSB* board);
SBSADTAPICALL int SBSADTSTALL sbsInitBoard(SBSADTB* sbscb);
SBSADTAPICALL BYTE SBSADTSTALL sbsFreeBoard(int boardnum);

/*/////////////////
// A/D Functions //
//////////////// */

SBSADTAPICALL BYTE SBSADTSTALL sbsADSetConfig(int boardnum, SBSADSETTINGS* settings);
SBSADTAPICALL void SBSADTSTALL sbsADSample(int boardnum, float* sample, SBSB* current_Channel);
SBSADTAPICALL void SBSADTSTALL sbsADSetChannel(int boardnum, unsigned int ChannelL, unsigned int ChannelH);
SBSADTAPICALL BYTE SBSADTSTALL sbsADChannelSwitch(int boardnum);
SBSADTAPICALL void SBSADTSTALL sbsADFIFOReset(int boardnum);
SBSADTAPICALL BYTE SBSADTSTALL sbsADReadADFIFOFlag(int boardnum);
SBSADTAPICALL void SBSADTSTALL sbsADStartConversion(int boardnum);
SBSADTAPICALL BYTE SBSADTSTALL sbsADConversionDone(int boardnum);

///////////////////////////////////////////////////////////////////////////////////*/
/*/////////////////
// D/A Functions //
//////////////// */
//SBSADTAPICALL BYTE SBSADTSTALL sbsDASetSettings(int boardnum, SBSDASETTINGS * dasettings);
SBSADTAPICALL BYTE SBSADTSTALL sbsDASetConfig(int boardnum, SBSDASETTINGS * dasettings);
SBSADTAPICALL void SBSADTSTALL sbsDAConvert(int boardnum, BYTE channel, SBSDACODE output_code);
SBSADTAPICALL void SBSADTSTALL sbsUpDataDA(int boardnum);

/*///////////////////////////////////////////////////////////////////////////////////
/*/////////////////
// 82C54 CLOCK Functions //
//////////////// */

SBSADTAPICALL void SBSADTSTALL sbsCLKSetConfig(int boardnum, SBSCLK* settings);
SBSADTAPICALL void SBSADTSTALL sbsCLKSample(int boardnum, BYTE CLKDEVNO, BYTE CLKNO, SBSB* clk_value);
SBSADTAPICALL void SBSADTSTALL sbsCLKPITStatus(int boardnum, BYTE CLKDEVNO, BYTE CLKNO, BYTE *clk_PITStatus);

//////////////////////////////////////////////////////////////////////////
/*/////////////////
// IRQ Functions //
//////////////// */
SBSADTAPICALL void SBSADTSTALL sbsIRQSetConfig(int boardnum, unsigned char IrqSou, HANDLE IRQ_Respond);
//SBSADTAPICALL void SBSADTSTALL sbsIRQDisable(int boardnum);
SBSADTAPICALL BYTE SBSADTSTALL sbsIRQStatus(int boardnum);
SBSADTAPICALL void SBSADTSTALL sbsIRQClear(int boardnum);

/*/////////////////
// DIO Functions //
//////////////// */

SBSADTAPICALL void SBSADTSTALL sbsDIOSetConfig(int boardnum, SBSDIOINT* config_bytes);
SBSADTAPICALL void SBSADTSTALL sbsDIOInputByte(int boardnum, BYTE port, BYTE* digital_value);
SBSADTAPICALL void SBSADTSTALL sbsDIOOutputByte(int boardnum, BYTE port, BYTE digital_value);

/*/////////////////////////////
// Unit Conversion Functions //
//////////////////////////// */
SBSADTAPICALL BYTE SBSADTSTALL sbsADCodeToVoltage(SBSSAMPLE adcode, DFLOAT *voltage);
SBSADTAPICALL BYTE SBSADTSTALL sbsVoltageToADCode(DFLOAT voltage, SBSSAMPLE *adcode);
SBSADTAPICALL BYTE SBSADTSTALL sbsDACodeToVoltage(SBSDACODE dacode, DFLOAT *voltage);
SBSADTAPICALL BYTE SBSADTSTALL sbsVoltageToDACode(DFLOAT voltage, SBSDACODE *dacode);

/************************************************************************/
/*                                                                      */
/************************************************************************/
#ifdef __cplusplus
} /* Closes the extern "C" */
#endif

/* MS Visual C++ only - end 1-byte structure alignment */
#ifndef MSVC_1_52
#ifdef _MSC_VER
#pragma pack(pop, sbsud_packing)
#endif
#endif

#endif /* #ifndef _SBSADT_H */

⌨️ 快捷键说明

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