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

📄 programsnimac.h

📁 pc loader for 8051 based microcomputers
💻 H
字号:
// ProgramSnimac.h: interface for the CProgramSnimac class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_PROGRAMSNIMAC_H__394AB10B_B30A_4283_B89F_1E432162CC3C__INCLUDED_)
#define AFX_PROGRAMSNIMAC_H__394AB10B_B30A_4283_B89F_1E432162CC3C__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "../PL3000/PrgDef.h"
#include <string>
#include "OpsegAdresa.h"

// Klasa koja definise interfejs objekata za snimanje sadrzaja programa.
// Program moze da se snimi u fajl (HEX ili BIN) ili na LPT port.
// Za svaku od ovih mogucnosti definise se posebna klasa koja implementira
// ovaj interfejs.

class CProgramSnimac  
{
public:
    // Pomocna klasa
    class CSnimacException
    {
    public:
        CSnimacException(const std::string& opis);
        std::string opisGreske;
    };

public:
	CProgramSnimac();
	virtual ~CProgramSnimac();

    // Poziv ove funkcije oznacava pocetak snimanja programa.
    // Snimac treba da odradi potrebne inicijalizacije i da bude
    // spreman za prvi bajt programa.
    // U slucaju neuspeha vraca 'false', a opis greske smesta u OUT parametar.
    // NAPOMENA: u izvedenim klasama obavezno treba pozvati ovu verziju iz osnovne klase !
    virtual bool Start(std::string& opis) = 0;

    // Funkcija kojom se obavestava snimac o ocekivanom opsegu adresa za snimanje.
    // Snimac moze da iskoristi ovu informaciju da sprovede 'kesiranje' bajtova
    // pre snimanja.
    virtual void OpsegAdresa(PRG::tAdresa adresaOD, PRG::tAdresa adresaDO);

    // Funkcija snima sledeci bajt programa.
    // U slucaju greske prilikom snimanja, baca izuzetak.
    virtual void SnimiSledeciBajt(PRG::tBajt bajt, PRG::tAdresa adresa) = 0;

    // Funkcija za signaliziranje da je zavrseno snimanje programa.
    // Tada snimac moze da odradi 'ciscenje' (da zatvori otvorene fajlove i sl.).
    // U slucaju neuspeha vraca 'false', a opis greske smesta u OUT parametar.
    virtual bool Stop(std::string& opis) = 0;

protected:
    // objekat koji pamti opseg adresa koji se zadaje funkcijom 'OpsegAdresa'
    COpsegAdresa opsegAdresa;
};

#endif // !defined(AFX_PROGRAMSNIMAC_H__394AB10B_B30A_4283_B89F_1E432162CC3C__INCLUDED_)

⌨️ 快捷键说明

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