

// SerialPro.h: interface for the CSerialPro class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_SERIALPRO_H__0F3B7341_F060_11D7_A019_9806402060C0__INCLUDED_)
#define AFX_SERIALPRO_H__0F3B7341_F060_11D7_A019_9806402060C0__INCLUDED_

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

#include "SerialPort.h"
class	CPro;

class CSerialPro : public CSerialPort  
{
public:
	BOOL m_bThread;//线程是否结束
	static UINT ReadRomThread(LPVOID pParam);//读线程
	static UINT WriteRomThread(LPVOID pParam);//写线程
	HANDLE m_hWriteRsp;//接收到回应后，用事件写线程
	HANDLE m_hReadRsp;//接收数据后，用事件通知读线程
	BOOL SendData();//发命令和数据
	void DetectPro(BYTE FID);//检测编程器
	void LockBit(BYTE FID,int nBit);//写锁定位
	void BeginRead(BYTE FID);//发送开始读器件的命令，让编程器做好准备
	void BeginWrite(BYTE FID);//发送开始写器件的命令，让编程器做好准备
	void Erase(BYTE FID);//发送擦除器件的命令
	void ReadSign(BYTE FID);//发送读特征字的命令
	BOOL m_bCanUse;//编程器是否可用
	BOOL m_bPort;//串口是否初始化
	BOOL InitPort(CPro* pPro,UINT nPort,UINT nBaud);//初始化端口，波特率
	BYTE TxdBuf[18];//发送命令缓存
	CPro* m_pPro;//指针 
	virtual void OnReceived(BYTE* pBuf,UINT nLength);//接收完数据块后自动调用
	CSerialPro();
	virtual ~CSerialPro();
};

#endif // !defined(AFX_SERIALPRO_H__0F3B7341_F060_11D7_A019_9806402060C0__INCLUDED_)
