📄 82c55.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 + -