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

📄 gpio.h

📁 该模块基于USB FX2开发板
💻 H
字号:
#ifndef USBBAUDRATE_H__
#define USBBAUDRATE_H__
#include "stdafx.h"
#include "StrInfo.h"



#define FILE_ANY_ACCESS                 0
#define FILE_DEVICE_UNKNOWN             0x00000022
#define METHOD_BUFFERED                 0
#define USBERROR                        1

#define CTL_CODE( DeviceType, Function, Method, Access ) (                 \
	((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method) \
	)
#define IOCTL_Ezusb_GET_DEVICE_DESCRIPTOR CTL_CODE(FILE_DEVICE_UNKNOWN,  \
	Ezusb_IOCTL_INDEX+1,\
	METHOD_BUFFERED,  \
	FILE_ANY_ACCESS)

#define MAXBUFFERSIZE 64
#define MAXLENGTH 256


//GPIO control code:
const TCHAR OUTPUT_CLEAR_ALL	= 0x00;
const TCHAR OUTPUT_SET_ALL		= 0x40;
const TCHAR INPUT_CLEAR_ALL		= 0x80;
const TCHAR INPUT_SET_ALL		= 0xc0;

//OUTPUT SET
const TCHAR OUTPUT_SET			= 0x01;		//pin 1 default
const TCHAR OUTPUT_SET_1		= OUTPUT_SET + 0x00;
const TCHAR OUTPUT_SET_2		= OUTPUT_SET + 0x01;
const TCHAR OUTPUT_SET_3		= OUTPUT_SET + 0x02;
const TCHAR OUTPUT_SET_4		= OUTPUT_SET + 0x03;
const TCHAR OUTPUT_SET_5		= OUTPUT_SET + 0x04;
const TCHAR OUTPUT_SET_6		= OUTPUT_SET + 0x05;
const TCHAR OUTPUT_SET_7		= OUTPUT_SET + 0x06;
const TCHAR OUTPUT_SET_8		= OUTPUT_SET + 0x07;
const TCHAR OUTPUT_SET_9		= OUTPUT_SET + 0x08;
const TCHAR OUTPUT_SET_10		= OUTPUT_SET + 0x09;
const TCHAR OUTPUT_SET_11		= OUTPUT_SET + 0x0a;
const TCHAR OUTPUT_SET_12		= OUTPUT_SET + 0x0b;
const TCHAR OUTPUT_SET_13		= OUTPUT_SET + 0x0c;
const TCHAR OUTPUT_SET_14		= OUTPUT_SET + 0x0d;
const TCHAR OUTPUT_SET_15		= OUTPUT_SET + 0x0e;


//OUTPUT CLEAR
const TCHAR OUTPUT_CLEAR		= 0x41;
const TCHAR OUTPUT_CLEAR_1		= OUTPUT_CLEAR + 0x00;
const TCHAR OUTPUT_CLEAR_2		= OUTPUT_CLEAR + 0x01;
const TCHAR OUTPUT_CLEAR_3		= OUTPUT_CLEAR + 0x02;
const TCHAR OUTPUT_CLEAR_4		= OUTPUT_CLEAR + 0x03;
const TCHAR OUTPUT_CLEAR_5		= OUTPUT_CLEAR + 0x04;
const TCHAR OUTPUT_CLEAR_6		= OUTPUT_CLEAR + 0x05;
const TCHAR OUTPUT_CLEAR_7		= OUTPUT_CLEAR + 0x06;
const TCHAR OUTPUT_CLEAR_8		= OUTPUT_CLEAR + 0x07;
const TCHAR OUTPUT_CLEAR_9		= OUTPUT_CLEAR + 0x08;
const TCHAR OUTPUT_CLEAR_10		= OUTPUT_CLEAR + 0x09;
const TCHAR OUTPUT_CLEAR_11		= OUTPUT_CLEAR + 0x0a;
const TCHAR OUTPUT_CLEAR_12		= OUTPUT_CLEAR + 0x0b;
const TCHAR OUTPUT_CLEAR_13		= OUTPUT_CLEAR + 0x0c;
const TCHAR OUTPUT_CLEAR_14		= OUTPUT_CLEAR + 0x0d;
const TCHAR OUTPUT_CLEAR_15		= OUTPUT_CLEAR + 0x0e;


//INPUT SET
const TCHAR INPUT_SET			= 0x81;
const TCHAR INPUT_SET_1			= INPUT_SET + 0x00;
const TCHAR INPUT_SET_2			= INPUT_SET + 0x01;
const TCHAR INPUT_SET_3			= INPUT_SET + 0x02;
const TCHAR INPUT_SET_4			= INPUT_SET + 0x03;
const TCHAR INPUT_SET_5			= INPUT_SET + 0x04;
const TCHAR INPUT_SET_6			= INPUT_SET + 0x05;
const TCHAR INPUT_SET_7			= INPUT_SET + 0x06;
const TCHAR INPUT_SET_8			= INPUT_SET + 0x07;
const TCHAR INPUT_SET_9			= INPUT_SET + 0x08;

//INPUT CLEAR
const TCHAR INPUT_CLEAR			= 0xc1;
const TCHAR INPUT_CLEAR_1		= INPUT_CLEAR + 0x00;
const TCHAR INPUT_CLEAR_2		= INPUT_CLEAR + 0x01;
const TCHAR INPUT_CLEAR_3		= INPUT_CLEAR + 0x02;
const TCHAR INPUT_CLEAR_4		= INPUT_CLEAR + 0x03;
const TCHAR INPUT_CLEAR_5		= INPUT_CLEAR + 0x04;
const TCHAR INPUT_CLEAR_6		= INPUT_CLEAR + 0x05;
const TCHAR INPUT_CLEAR_7		= INPUT_CLEAR + 0x06;
const TCHAR INPUT_CLEAR_8		= INPUT_CLEAR + 0x07;
const TCHAR INPUT_CLEAR_9		= INPUT_CLEAR + 0x08;



typedef union _TAGCOLOR{
	UINT32 dColorValue;
	UCHAR  cRGBColor[4];
}TAGCOLOR;
class GPIO	
{	

public:
	
	GPIO();
    ~GPIO();
	int Initial(int Num);
	int Downloadfx2(int Num);
	int ControlGPIO(IN TCHAR gpioControlCode);
	int GetOutputPinStatus(OUT char *szOutputPinStatus);
	//int GetInputPinStatus(OUT char *szInputPinStatus);
	
	int run(int UsbDeviceNum,int *UsbErrPort, int _argc, char **_argv);
	void menu();
private:
	
	HANDLE m_handle;
	TCHAR tcPinBitStatus;
	//TCHAR tcPinBitStatusLOW;
};
#endif //End __USBTRAN_H__

⌨️ 快捷键说明

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