📄 gpio.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 + -