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

📄 82c55.h

📁 其于ARM的USB操作,控制芯片为CH375实现操作.以及其他功能.包括AC,串口操作.
💻 H
字号:
#ifndef _82C55_H_
#define _82C55_H_

#include    "def.h"
#include	"option.h"
#include	"44blib.h"
#include	"44b.h"


#include    "os_cpu.h"
#include	"ucos_ii.h"               /* uC/OS interface */
#include	"target.h"
#include    "os_cpu.h"
#include	"targcon.h"
#include	"..\..\src\armtree.h"
#include 	"..\..\src\arm82c55tcb.h"
#include	"..\..\src\armdigitindata.h"
#include	"..\..\src\armstatelist.h"


#define MODEL_ALL_IN	0//所有口为输入口
#define MODEL_ALL_OUT	1//所有口为输出口
#define MODEL_A_IN_BC_OUT	2//A口为输入,B,C口为输出
#define MODEL_AB_IN_C_OUT	3//A,B口为输入,C口为输出
#define MODEL_AC_IN_B_OUT	4//A,C口为输入,B口为输出
#define MODEL_B_IN_AC_OUT	5//B口为输入,A,C口为输出
#define MODEL_BC_IN_A_OUT	6//B,C口为输入,A口为输出
#define MODEL_C_IN_AB_OUT   7//C口为输入,A,B口为输出

#define MODEL_AB_OUT_CIO	8//AB输入,C低入,高出
#define MODEL_AB_OUT_COI	9//AB输入,C低出,高入

#define MODEL_A_O_B_I_CIO	10//A出,B入,C低入,高出
#define MODEL_A_O_B_I_COI	11//A出,B入,C低出,高入

#define MODEL_A_I_B_O_CIO	12//A入,B出,C低入,高出
#define MODEL_A_I_B_O_COI	13//A入,B出,C低出,高入

#define MODEL_AB_IN_CIO		14//A,B输入,C低入,高出
#define MODEL_AB_IN_COI		15//A,B输入,C低出,高入

#define MODEL_ACS_I_B_O		16//A选通输入,B输出
#define MODEL_ACS_I_B_I		17//A选通输入,B输入
#define MODEL_ACS_O_B_O		18//A选通输出,B输出
#define MODEL_ACS_O_B_I		19//A选通输出,B输入

#define MODEL_BCS_I_A_O		20//B选通输入,A输出
#define MODEL_BCS_I_A_I		21//B选通输入,A输入
#define MODEL_BCS_O_A_O		22//B选通输出,A输出
#define MODEL_BCS_O_A_I		23//B选通输出,A输入

#define MODEL_CS_A_IN_B_OUT	24//选通A输入,B输出
#define MODEL_CS_AB_IN		25//选通AB输入
#define MODEL_CS_B_IN_A_OUT	26//选通B输入,A输出
#define MODEL_CS_AB_OUT		27//选通AB输出

#define MODEL_A_BUS_B_O		28//A双向总线工作方式,B输出
#define MODEL_A_BUS_B_I		29//A双向总线工作方式,B输入
#define MODEL_A_BUS_B_CS_O	30//A双向总线工作方式,B选通输出
#define MODEL_A_BUS_B_CS_I	31//A双向总线工作方式,B选通输入

#define IN_RUN_BIT			3	//运行指示位
#define IN_CPU_RESET_BIT	4	//复位CPU位
#define OUT_RUN_BIT			0

#define PORT_A				0
#define PORT_B				1
#define PORT_C				2
//#define Model
class C82c55
{
public:
	C82c55();
	~C82c55();

private:
	BOOL InitPort( );//初始化并行口
public:

	BOOL OpenPort( );//打开并行口
	BOOL ClosePort( );//关闭并行口
	BOOL SetPortDat( U32 port , U8 dat );//设置端口数据
	BOOL GetPortDat( U32 port , U8 &dat );//读取端口数据
	BOOL SetPortBitH( U32 port , U32 numb );//设置端口的一位
	BOOL SetPortBitL( U32 port , U32 numb );//设置端口的一位
	BOOL GetPortBit( U32 port , U32 numb , BOOL& bit );//得到端口的一位
	void Run(void* Id);
	void Init( CArmTree* tree );
	void SetTree( CArmTree* tree );
	void Server();
	void FillData();
	U32  GetIntNumb();
	void SetRun();
	void ResetCpu( BOOL flag );
private:
	U32  Address;
	BOOL bOpen;
	U8   Ctrl;
	U8	 Data1;
	U8   Data2;
	U8   Data3;
	U32  Model;
	volatile U8* PortA;
	volatile U8* PortB;
	volatile U8* PortC;
	volatile U8* PortCtrl;

	CArm82c55tcb* pTcb;
	CArmDigitInData* pIn;
	CArmStateList* pStateList;
	BOOL bCharged;
	BOOL bRun;

};

#endif

⌨️ 快捷键说明

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