📄 main.h
字号:
//---------------------------------------------------------------------------
#ifndef mainH
#define mainH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <Menus.hpp>
#include <ExtCtrls.hpp>
#include <Buttons.hpp>
//---------------------------------------------------------------------------
// EPP寄存器:
//---------------------------------------------------------------------------
// 数据寄存器(DAT)
// -------------------------------------------------------
// | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
// -------------------------------------------------------
// 状态寄存器(STA)
// -------------------------------------------------------
// | WAIT | INTR | UDEF | UDEF | UDEF | ---- | ---- | ---- |
// -------------------------------------------------------
// 11 PIFUL POFUL
// 控制寄存器(CTL)
// --------------------------------------------------------
// | ---- | ---- |RDENA |IRQENA|ADDSTB|RESET |DATSTB|-WRITE |
// --------------------------------------------------------
// 17 -16 14 1
// EPP地址寄存器(EPA)
// -------------------------------------------------------
// | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
// -------------------------------------------------------
// EPP数据寄存器(EPD)
// -------------------------------------------------------
// | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
// -------------------------------------------------------
// EPP控制寄存器(ECR)
// -------------------------------------------------------
// | B7 | B6 | B5 | B4 | B3 | B2 | B1 | B0 |
// -------------------------------------------------------
// B7B6B5 000 标准模式
// 001 字节模式
// 010 并口FIFO模式
// 011 ECP FIFO模式
// 100 EPP 模式
// 101 保留
// 110 FIFO测试模式
// 111 配置模式
// B4 ECP中断位
// B3 DMA使能位
// B2 ECP服务位
// B1 FIFO满
// B0 FIFO空
//---------------------------------------------------------------------------
#define DAT 0x378
#define STA 0x379
#define CTL 0x37A
#define EPA 0x37B
#define EPD 0x37C
#define ECR 0x77A
#define PDOFULL 0x10
#define PDIFULL 0x20
#define SEP '\r'
#define ESC '\\'
//---------------------------------------------------------------------------
class TFmMain : public TForm
{
__published: // IDE-managed Components
TMainMenu *MainMenu1;
TMenuItem *F1;
TMenuItem *X1;
TMenuItem *O1;
TPanel *PnTools;
TBitBtn *BtDatW;
TEdit *EdData;
TMenuItem *R1;
TBitBtn *BtDatR;
TBitBtn *BtStat;
TPanel *Panel1;
TPanel *Panel2;
TPanel *Panel3;
TPanel *Panel4;
TListBox *LBMain;
TEdit *EdCmd;
TBitBtn *BitBtn5;
TBitBtn *BitBtn6;
TBitBtn *BtAddW;
TSpeedButton *SpeedButton1;
TEdit *EdDat;
TButton *BytePrograme;
TButton *SectorErase;
void __fastcall T1Click(TObject *Sender);
void __fastcall FormCreate(TObject *Sender);
void __fastcall FormDestroy(TObject *Sender);
void __fastcall R1Click(TObject *Sender);
void __fastcall BtDatRClick(TObject *Sender);
void __fastcall BtStatClick(TObject *Sender);
void __fastcall BitBtn6Click(TObject *Sender);
void __fastcall BitBtn5Click(TObject *Sender);
void __fastcall BtAddWClick(TObject *Sender);
void __fastcall SpeedButton1Click(TObject *Sender);
void __fastcall ByteProgrameClick(TObject *Sender);
void __fastcall SectorEraseClick(TObject *Sender);
private: // User declarations
BOOL succ;
UCHAR OLDECR;
DWORD PtVal;
HANDLE hEPP;
char buff[1024];
public: // User declarations
__fastcall TFmMain(TComponent* Owner);
void Put4B(UINT val);
void EraseAll();
void EraseOneSector(UINT Sec);
void PutByte(UINT addr,UCHAR data);
void WaitReady();
void Fill();
};
//---------------------------------------------------------------------------
extern PACKAGE TFmMain *FmMain;
//---------------------------------------------------------------------------
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -