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

📄 spi.h

📁 NI公司的PCI-6120四通道电压测量卡控制程序。该程序主要用VC实现对PCI-6120测量卡控制
💻 H
字号:
/*
Author:	Guixiang.Huang
Data:	V1: 2007-3-2	
		V2:				//184segs change to 181segs display
		V3: 2007-3-6	//ADD 3 functions
		V4: 2007-3-8	//add new functions about Tempsense, busys; modify spi_read32_new

Use for: M5212 EPD DRIVE AND DISPALY
*/
#ifndef SPI_H_
#define SPI_H_

#define	DLL_EXPORT	extern "C" __declspec(dllexport)
#define DLL_IMPORT	extern "C" __declspec(dllimport)

#define NSECOND		1000000000	//10^9
#define USECOND		1000000
#define PORT_ADDR	0x378
//////////////////////define data line///////////
//SPI A
#define A_SPI_CE		0x02//25pin3
#define	A_SPI_CLK		0x01//25pin2
#define A_SPI_MOSI		0x04//25pin4
//#define	A_SPI_MISO		0x08//25pin5
#define	A_SPI_MISO		0x40//25pin10, 0x379 
#define A_RESET			0x08//25pin5
//SPI B
#define B_SPI_CE		0x20//25pin7
#define	B_SPI_CLK		0x10//25pin6
#define B_SPI_MOSI		0x40//25pin8
//#define	B_SPI_MISO		0x80//25pin9
#define	B_SPI_MISO		0x80//25pin11, 0x379	//~pin11,需要倒相位
#define B_RESET			0x80//25pin9

#define RES			A_RESET
#define SPI_CE		A_SPI_CE
#define SPI_CLK		A_SPI_CLK
#define SPI_MOSI	A_SPI_MOSI
#define	SPI_MISO	A_SPI_MISO

#define REG_BACKGROUND_OFF	0x00000000
#define REG_BACKGROUND_ON	0x00000001
#define BUSY_BITS			0x0000c000
#define TEMP_BITS			0x00fb0000
//////////////////////define function////////////
LONGLONG	wait_ns(int ns);
LONGLONG	wait_ns2(int ns, LONGLONG freq);
LONGLONG	wait_us(int us);
LONGLONG	testSPI_CLK();

void	CLR_RES();
void	SET_RES();
void	spi_CLR_CE();
void	spi_SET_CE();
void	spi_Read(BYTE* data);
void	spi_Write(BYTE data);
void	spi_ReadWrite(BYTE writeByte, BYTE* readByte);
int		SPI_Write32(DWORD writeData);
int		SPI_Write32_New(DWORD writeData);
int		SPI_Read32(DWORD *readData);
DWORD	SPI_Read32_New();

void	B_CLR_RES();
void	B_SET_RES();
void	B_SPI_CLR_CE();
void	B_SPI_SET_CE();
void	B_SPI_Read(BYTE* data);
void	B_SPI_Write(BYTE data);
void	B_SPI_ReadWrite(BYTE writeByte, BYTE* readByte);
int		B_SPI_Write32(DWORD writeData);
int		B_SPI_Write32_New(DWORD writeData);
int		B_SPI_Read32(DWORD *readData);
DWORD	B_SPI_Read32_New();

DWORD    cpuFre();
LONGLONG cpuFrequent();		//LONGLONG == __int64
//////////////////////////////////////////////////
short _stdcall Inp32(short PortAddress);
void  _stdcall Out32(short PortAddress, short data);
///////////////////EPD DRIVER/////////////////////////////
//////////////////PART A
DLL_EXPORT void PowerOn();
DLL_EXPORT void PowerOff(); 
DLL_EXPORT void UpdateIC(BYTE nSeg); 
DLL_EXPORT void UpdateIC_Array(BYTE* pSegArray, BYTE nArraySize);
DLL_EXPORT void UpdateICArrayn(CString tmpStr); 
DLL_EXPORT void UpdateICArrayn_New(char* pStr); 
DLL_EXPORT void White();
DLL_EXPORT void Black();
DLL_EXPORT void BackgroundOff(); 
DLL_EXPORT void BackgroundOn(); 
DLL_EXPORT BOOL MISO();
DLL_EXPORT DWORD MISO_DW();
DLL_EXPORT BYTE CheckBusy();
DLL_EXPORT BYTE TempSense();
DLL_EXPORT void EnableTemper();
/////////////////////PART B
DLL_EXPORT void B_PowerOn();
DLL_EXPORT void B_PowerOff(); 
DLL_EXPORT void B_UpdateIC(BYTE nSeg); 
DLL_EXPORT void B_UpdateIC_Array(BYTE* pSegArray, BYTE nArraySize);
DLL_EXPORT void B_UpdateICArrayn(CString tmpStr); 
DLL_EXPORT void B_UpdateICArrayn_New(char* pStr); 
DLL_EXPORT void B_White();
DLL_EXPORT void B_Black();
DLL_EXPORT void B_BackgroundOff(); 
DLL_EXPORT void B_BackgroundOn(); 
DLL_EXPORT BOOL B_MISO();
DLL_EXPORT DWORD B_MISO_DW();
DLL_EXPORT BYTE B_CheckBusy();
DLL_EXPORT BYTE B_TempSense();
DLL_EXPORT void B_EnableTemper();

DWORD GET_SEG_REG(BYTE seg);

///////////////////////////////////////////////////////////
void PowerOn2(); 

#endif

⌨️ 快捷键说明

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