亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? eprodlg.cpp

?? Easy 51Pro v2.0宇宙版編程器資料,包含了源程序
?? CPP
?? 第 1 頁 / 共 3 頁
字號:

void CEProDlg::SetProType(int nProType)
{
	switch(nProType)
	{
	case 0:
		m_pSelPro->SetValue("使用Easy 51Pro串行編程器");
		m_pProList->SetCurrent(0);
		ShowMsg("使用Easy 51Pro串行編程器");
		break;
	case 1:
		m_pSelPro->SetValue("使用Easy ISP下載線");
		m_pProList->SetCurrent(1);
		ShowMsg("使用Easy ISP下載線");
		break;
	case 2:
		m_pSelPro->SetValue("使用Atmel ByteBlaster 下載線");
		m_pProList->SetCurrent(2);
		ShowMsg("使用Atmel ByteBlaster 下載線");
		break;
	case 3:
		m_pSelPro->SetValue("使用Altera ByteBlaster 下載線");
		m_pProList->SetCurrent(3);
		ShowMsg("使用Altera ByteBlaster 下載線");
		break;
	default:
		AfxMessageBox("請正確選擇編程器類型!");
		break;
	} 
}

int CEProDlg::GetPortSel()
{
	return m_nPortSel=m_pPortList->GetCurrent()+1;
}

void CEProDlg::SetPortSel(int nPortSel)
{
	switch(nPortSel)
	{
	case 1:
		m_pSelPort->SetValue("COM 1");
		m_pPortList->SetCurrent(0);
		break;
	case 2:
		m_pSelPort->SetValue("COM 2");
		m_pPortList->SetCurrent(1);
		break;
	case 3:
		m_pSelPort->SetValue("COM 3");
		m_pPortList->SetCurrent(2);
		break;
	case 4:
		m_pSelPort->SetValue("COM 4");
		m_pPortList->SetCurrent(3);
		break;
	default:
		break;
	}
}

int CEProDlg::GetBaudSel()
{
	return m_nBaudSel=m_pBaudList->GetCurrent();
}

void CEProDlg::SetBaudSel(int nBaudSel)
{
	switch(nBaudSel)
	{
	case 0:
		m_pSelBaud->SetValue("9600");
		m_pBaudList->SetCurrent(0);
		break;
	case 1:
		m_pSelBaud->SetValue("19200");
		m_pBaudList->SetCurrent(1);
		break;
	case 2:
		m_pSelBaud->SetValue("28800");
		m_pBaudList->SetCurrent(2);
		break;
	case 3:
		m_pSelBaud->SetValue("57600");
		m_pBaudList->SetCurrent(3);
		break;
	default:
		break;
	}
}

int CEProDlg::GetIspSpd()
{
	return m_nIspSpd=m_pIspSpdList->GetCurrent();	
}

void CEProDlg::SetIspSpd(int nSpdSel)
{
	if(nSpdSel==0)
	{
		m_pSelIspSpd->SetValue("一般");
		m_pIspSpdList->SetCurrent(0);
	}
	else if(nSpdSel==1)
	{
		m_pSelIspSpd->SetValue("較快");
		m_pIspSpdList->SetCurrent(1);
	}
	else if(nSpdSel==2)
	{
		m_pSelIspSpd->SetValue("最快");
		m_pIspSpdList->SetCurrent(2);
	}
}

LRESULT CEProDlg::OnGridNotify(WPARAM wParam, LPARAM lParam)
{
	if(wParam == XT_PGN_ITEMVALUE_CHANGED)
	{
		TRACE("OnGridNotify(WPARAM wParam, LPARAM lParam)\n");
		CXTPropertyGridItem* pItem = (CXTPropertyGridItem*)lParam;
		CString strCaption,strValue;
		strCaption= pItem->GetCaption();
		if(strCaption=="自動檢測器件")
		{
			strValue=pItem->GetValue();
			if(strValue=="True")
				m_bDetectBegin=TRUE;
			else
				m_bDetectBegin=FALSE;
		}
		else if(strCaption=="使用聲音提示")
		{
			strValue=pItem->GetValue();
			if(strValue=="True")
				m_bSound=TRUE;
			else
				m_bSound=FALSE;
		}
		else if(strCaption=="使用熱鍵")
		{
			strValue=pItem->GetValue();
			if(strValue=="True")
			{
				m_bHotKey=TRUE;
				CHotKeyDialog HotKeyDlg;
				HotKeyDlg.m_byteKey=m_byteKey;
				HotKeyDlg.m_byteMask=m_byteMask;
				EnableHotKey(FALSE);
				if(HotKeyDlg.DoModal()==IDOK)
				{
					m_byteKey=HotKeyDlg.m_byteKey;
					m_byteMask=HotKeyDlg.m_byteMask;
				}
				EnableHotKey(TRUE);
			}
			else
				m_bHotKey=FALSE;
		}
		TRACE(_T("Value Changed. Caption = %s, ID = %i, Value = %s\n"), 
			  pItem->GetCaption(), pItem->GetID(), pItem->GetValue());
	}
	return 0;
}


void CEProDlg::LoadInfoSave()
{
	CString strFile;
	strFile=m_strAppPath+"EasyPro_Info.ini";
	if(GetPrivateProfileStruct(
		"InfoSave",  // address of section name
		"m_InfoSave",     // address of key name
		&m_InfoSave,      // address of return buffer
		sizeof(InfoSave), // size of return buffer
		strFile))
	{
		SetProType(m_nProType=m_InfoSave.m_nProType);
		SetPortSel(m_nPortSel=m_InfoSave.m_nSerialPort);
		SetBaudSel(m_nBaudSel=m_InfoSave.m_nBaudSel);
		SetIspSpd(m_nIspSpd=m_InfoSave.m_nIspSpd);
		if(!(m_bDetectBegin=m_InfoSave.m_bDetectBegin))
			m_pDetectBegin->SetValue("False");
		if(!(m_bSound=m_InfoSave.m_bSound))
			m_pSound->SetValue("False");
		if(!(m_bHotKey=m_InfoSave.m_bHotKey))
			m_pHotKey->SetValue("False");
		m_byteKey=m_InfoSave.m_byteKey;
		m_byteMask=m_InfoSave.m_byteMask;
		m_btOpenFile.EnableAuto(m_InfoSave.m_bAutoOpenFile);
		m_btErase.EnableAuto(m_InfoSave.m_bAutoErase);
		m_btWrite.EnableAuto(m_InfoSave.m_bAutoWrite);
		m_btRead.EnableAuto(m_InfoSave.m_bAutoRead);
		m_btCheck.EnableAuto(m_InfoSave.m_bAutoCheck);
		ShowMsg("Easy 51Pro(v2.0)");
	}
	else
	{	//第一次啟動
		ShowMsg("Easy 51Pro(v2.0)");
		ShowMsg("設計者:聶忠強  Email:nie_zq@163.net");
	}
	
}

void CEProDlg::SaveInfoSave()
{
	CString strFile;
	strFile=m_strAppPath+"EasyPro_Info.ini";
	m_InfoSave.m_nProType=GetProType();
	m_InfoSave.m_nSerialPort=GetPortSel();
	m_InfoSave.m_nBaudSel=GetBaudSel();
	m_InfoSave.m_nIspSpd=GetIspSpd();
	m_InfoSave.m_bDetectBegin=m_bDetectBegin;
	m_InfoSave.m_bSound=m_bSound;
	m_InfoSave.m_bHotKey=m_bHotKey;
	m_InfoSave.m_byteKey=m_byteKey;
	m_InfoSave.	m_byteMask=m_byteMask;
	m_InfoSave.m_bAutoOpenFile=m_btOpenFile.m_bAuto;
	m_InfoSave.m_bAutoErase=m_btErase.m_bAuto;
	m_InfoSave.m_bAutoWrite=m_btWrite.m_bAuto;
	m_InfoSave.m_bAutoRead=m_btRead.m_bAuto;
	m_InfoSave.m_bAutoCheck=m_btCheck.m_bAuto;
	m_InfoSave.m_nChipSel=m_comboChipType.GetCurSel();
	WritePrivateProfileStruct(
	 "InfoSave",// pointer to section name
	"m_InfoSave",  // pointer to key name
	 &m_InfoSave,  // pointer to buffer that contains data to add
	sizeof(InfoSave), // size, in bytes, of the buffer
	strFile);    // pointer to initialization filename
}

void CEProDlg::ShowMsg(CString strMsg)
{

	if(m_nWndSel!=2)
		SelWnd(2);
	m_listMsg.InsertString(m_nMsg,strMsg);
	m_listMsg.SetCurSel(m_nMsg);
	//m_List.GetText(m_nMsg,m_str1);
	m_nMsg++;
}


UINT CEProDlg::OnProMsg(WPARAM dwMsg,LPARAM dwMsg2)
{
	BOOL bWork=FALSE;
	CString strMsg1,strMsg2,strMsg3;
	switch(dwMsg)
	{
	case PRO_INIT_SERIAL_SEC:
		ShowMsg("初始化串口通訊完成.");
		m_Pro.DetectPro(m_comboChipType.GetCurSel());
		return 0;
	case PRO_INIT_SERIAL_ER:
		ShowMsg("初始化串口通訊失敗.");
		break;
	case PRO_INIT_PARALLEL_SEC:
		ShowMsg("初始化并口完成.");
		return 0;
	case PRO_INIT_PARALLEL_ER:
		ShowMsg("初始化并口失敗.");
		break;
	case PRO_AVAILABLE:
		ShowMsg("編程器:就緒.");
		WorkProc(TRUE,FALSE);
		return 0;
	case PRO_INVALID:
		ShowMsg("編程器:不可用.");
		break;
	case PRO_INIT_SERIAL_NOT:
		ShowMsg("未初始化串口.");
		break;
	case PRO_RCV_ER:
		ShowMsg("接收數據時發生錯誤.");
		break;
	case PRO_RD_SIGN:
		ShowMsg("編程器:檢測到特征字.");
		bWork=TRUE;
		break;
	case PRO_DETECTCHIP_SEC:
		strMsg1.Format("(特征字:%02x %02x %02x).",m_Pro.SignByte[0],m_Pro.SignByte[1],m_Pro.SignByte[2]);
		ShowMsg("編程器:檢測到器件"+strMsg1);
		strMsg1=m_Pro.GetCurChip()->Name;
		strMsg2.Format(" - ROM容量:%dK字節.",m_Pro.GetCurChip()->RomSize);
		strMsg3.Format(" 編程電壓:%.2fV.",m_Pro.GetCurChip()->ProVol);
		strMsg1=strMsg1+strMsg2+strMsg3;
		ShowMsg(strMsg1);
		bWork=TRUE;
		break;
	case PRO_DETECTCHIP_ER:
		strMsg1.Format("(特征字:%02x %02x %02x).",m_Pro.SignByte[0],m_Pro.SignByte[1],m_Pro.SignByte[2]);
		ShowMsg("編程器:沒檢測到器件"+strMsg1);
		bWork=FALSE;
		break;
	case PRO_ERASE:
		ShowMsg("編程器:擦除器件完成.");
		bWork=TRUE;
		break;
	case PRO_WRITE_BEGIN:
		ShowMsg("編程器:寫器件開始.");
		strMsg1.Format("寫入%d字節...",m_Pro.GetMinLength(m_Pro.m_pWriteBuf,0x10000));
		ShowMsg(strMsg1);
		return 0;
	case PRO_WRITE_BLOCK:
		if(m_Pro.m_nDataLength==1 && m_Pro.m_nDataLength==0)
			return 0;
		m_Progress.ShowWindow(SW_SHOW);
		strMsg1.Format("正在寫:%04x/%04x",m_Pro.m_nAddr-1,m_Pro.m_nDataLength-1);
		strMsg1.MakeUpper();
		m_Progress.SetText(strMsg1);
		m_Progress.SetPos(m_Pro.m_nAddr*100/(m_Pro.m_nDataLength-1));
		return 0;
	case PRO_WRITE_OVER:
		ShowMsg("編程器:寫器件完成.");
		m_Progress.SetPos(100);
		m_Progress.SetText("寫器件完成");
		m_Progress.Invalidate(FALSE);
		m_nWrCount++;
		bWork=TRUE;
		if(m_bWorkRead || m_bWorkCheck && m_nProType==0)
			return 0;
		break;
	case PRO_WRITE_ER:
		ShowMsg("編程器:寫器件時發生錯誤.");
		break;
	case PRO_READ_BEGIN:
		ShowMsg("編程器:讀器件開始.");
		return 0;
	case PRO_READ_BLOCK:
		if(m_Pro.m_nDataLength==1 && m_Pro.m_nDataLength==0)
			return 0;
		m_Progress.ShowWindow(SW_SHOW);
		strMsg1.Format("正在讀:%04x/%04x",m_Pro.m_nAddr-1,m_Pro.m_nDataLength-1);
		strMsg1.MakeUpper();
			m_Progress.SetText(strMsg1);
			m_Progress.SetPos(m_Pro.m_nAddr*100/(m_Pro.m_nDataLength-1));
		return 0;
	case PRO_READ_OVER:
		ShowMsg("編程器:讀器件完成.");
		m_Progress.SetPos(100);
		m_Progress.SetText("讀器件完成");
		m_Progress.Invalidate(FALSE);
		m_editBuf2.SetData(m_Pro.m_pReadBuf,0x10000);
		ShowMsg("數據已經保存到緩沖2.");
		if(m_bCheck)
			bWork=CheckData();
		else
			bWork=TRUE;
		break;
	case PRO_LOCK_BIT:
		ShowMsg("編程器:寫鎖定位完成.");
		bWork=TRUE;
		break;
	case PRO_WORK_INVALID:
		ShowMsg("編程器:無效的操作.");
		break;
	default:
		break;
	}
	WorkProc(bWork);
	return 0;
}

void CEProDlg::EnableCtrl(BOOL bEn)
{
	TRACE("EnableCtrl(%d)\n",bEn);
	m_btDetectChip.SetIndicator(FALSE);
	m_btOpenFile.SetIndicator(FALSE);
	m_btSaveFile.SetIndicator(FALSE);
	m_btErase.SetIndicator(FALSE);
	m_btWrite.SetIndicator(FALSE);
	m_btRead.SetIndicator(FALSE);
	m_btCheck.SetIndicator(FALSE);
	m_btLock.SetIndicator(FALSE);
	m_btAuto.SetIndicator(FALSE);
	
	if(bEn==TRUE)
	{	
		m_bWorkDetectPro=FALSE;
		m_bWorkOpenFile=FALSE;
		m_bWorkDetectChip=FALSE;
		m_bWorkErase=FALSE;
		m_bWorkWrite=FALSE;
		m_bWorkRead=FALSE;
		m_bWorkCheck=FALSE;
		m_bAutoWork=FALSE;

		m_btOpenFile.m_bUse=TRUE;
		m_btDetectChip.m_bUse=TRUE;
		m_btSaveFile.m_bUse=TRUE;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品欧美极品| 99国产精品久久久| 国产毛片精品一区| 欧美日韩久久久一区| 国产精品蜜臀在线观看| 一本久道久久综合中文字幕| 国产性天天综合网| 国产一区二区三区在线观看免费视频 | 免费在线观看精品| 在线视频综合导航| 亚洲欧洲制服丝袜| 91在线观看视频| 国产精品不卡在线| 99精品视频中文字幕| 亚洲va国产天堂va久久en| 色婷婷av一区二区三区大白胸 | 91精品1区2区| 一区二区国产视频| 91免费版pro下载短视频| 日韩和欧美的一区| 欧美一级黄色录像| 蜜臀久久99精品久久久画质超高清 | 欧美经典一区二区| 精品一区二区三区免费视频| 精品久久99ma| 亚洲1区2区3区视频| 欧美激情一区二区三区四区| 欧美日韩免费一区二区三区| 五月天网站亚洲| 精品少妇一区二区三区在线视频| 色综合久久六月婷婷中文字幕| 精品系列免费在线观看| 午夜精品爽啪视频| 亚洲素人一区二区| 91精品国产综合久久精品| 开心九九激情九九欧美日韩精美视频电影 | 一区二区三区波多野结衣在线观看 | 亚洲韩国精品一区| 91麻豆精品国产91久久久更新时间 | 国产91综合一区在线观看| 国产精品无人区| 精品黑人一区二区三区久久| 欧美精品视频www在线观看| 美女视频一区二区三区| 亚洲bdsm女犯bdsm网站| 亚洲国产一区二区视频| 亚洲在线视频一区| 久久久久久电影| 欧美色图免费看| 日本高清成人免费播放| 99在线精品视频| 美日韩一级片在线观看| 日韩电影在线观看一区| 专区另类欧美日韩| 亚洲女性喷水在线观看一区| 亚洲人成精品久久久久久| 亚洲三级电影网站| 亚洲综合一区二区三区| 亚洲午夜久久久| 日韩电影在线观看一区| 久久99在线观看| 国产在线播精品第三| 国产乱人伦偷精品视频免下载| 亚洲国产日韩一级| 三级不卡在线观看| 久久99国产精品尤物| 国产风韵犹存在线视精品| 免费观看成人av| 经典一区二区三区| av在线一区二区| 在线观看亚洲a| 欧美va亚洲va在线观看蝴蝶网| 精品久久久三级丝袜| 成人免费在线观看入口| 久久中文娱乐网| 日韩小视频在线观看专区| 精品久久久久久综合日本欧美| 国产欧美日韩另类视频免费观看| 精品免费一区二区三区| 欧美va亚洲va在线观看蝴蝶网| 久久精品视频一区| 一区二区三区在线播| 捆绑调教一区二区三区| 99久久免费视频.com| 3d动漫精品啪啪一区二区竹菊| 久久毛片高清国产| 亚洲综合在线视频| 国产呦萝稀缺另类资源| 色综合一个色综合亚洲| 粉嫩嫩av羞羞动漫久久久| 色就色 综合激情| 欧美v亚洲v综合ⅴ国产v| 亚洲卡通动漫在线| 亚洲午夜一二三区视频| 国产麻豆精品在线观看| 欧美无人高清视频在线观看| 在线视频国内自拍亚洲视频| 精品久久久久久久人人人人传媒| 一色桃子久久精品亚洲| 美女www一区二区| 91久久精品日日躁夜夜躁欧美| 2023国产精品视频| 亚州成人在线电影| 91麻豆自制传媒国产之光| 亚洲精品一区二区三区精华液 | 奇米色一区二区三区四区| 成人中文字幕合集| av电影在线观看一区| 51精品视频一区二区三区| 亚洲欧美另类久久久精品| 国产精品羞羞答答xxdd| 日韩欧美一二三区| 欧美激情综合五月色丁香小说| 日韩不卡手机在线v区| 欧美自拍偷拍午夜视频| 亚洲同性gay激情无套| 成人免费看黄yyy456| 久久久久久免费网| 国产精品自拍三区| 久久久久国产一区二区三区四区| 久久国产夜色精品鲁鲁99| 欧美男男青年gay1069videost| 亚洲精品日产精品乱码不卡| 一本久久精品一区二区| 亚洲精品老司机| 色av综合在线| 亚洲综合丁香婷婷六月香| 91精品福利视频| 亚洲国产wwwccc36天堂| 欧美日韩精品综合在线| 日韩高清中文字幕一区| 制服.丝袜.亚洲.另类.中文| 免费不卡在线视频| 欧美mv日韩mv| 国产精品白丝jk黑袜喷水| 337p粉嫩大胆噜噜噜噜噜91av | 93久久精品日日躁夜夜躁欧美| 一色屋精品亚洲香蕉网站| 97精品久久久久中文字幕| 一级做a爱片久久| 91精品国产欧美一区二区成人 | 亚洲影视在线观看| 欧美高清视频www夜色资源网| 天堂蜜桃一区二区三区| 精品乱码亚洲一区二区不卡| 国产传媒日韩欧美成人| 一区二区三区在线视频免费观看| 欧美日韩国产大片| 激情综合网av| 国产精品毛片大码女人| 欧美视频一区二区三区四区| 免费在线成人网| 国产精品视频线看| 欧美视频中文字幕| 国产精品一区二区免费不卡| 中文字幕在线不卡一区二区三区 | 天天色天天爱天天射综合| 精品国产免费一区二区三区四区 | 五月开心婷婷久久| 久久久精品黄色| 色av成人天堂桃色av| 日韩二区三区在线观看| 国产精品人成在线观看免费| 欧美性xxxxxx少妇| 国产精品99久| 三级欧美在线一区| 国产精品久久午夜夜伦鲁鲁| 欧美美女喷水视频| 成人黄色小视频在线观看| 久久久久久久久久久电影| 在线一区二区三区做爰视频网站| 久久福利视频一区二区| 亚洲一区视频在线| 国产日韩欧美a| 91精品国产aⅴ一区二区| 97se亚洲国产综合自在线观| 久久av资源网| 日韩av网站免费在线| 亚洲婷婷在线视频| 国产清纯在线一区二区www| 欧美一区二区三区免费观看视频| a级高清视频欧美日韩| 美女一区二区三区| 五月天国产精品| 一个色在线综合| 亚洲图片欧美激情| 欧美国产日本视频| 久久久久久免费| 2欧美一区二区三区在线观看视频| 91福利在线观看| 91视频国产观看| www.欧美亚洲| 北岛玲一区二区三区四区| 国产一区二区三区观看| 毛片一区二区三区| 日韩国产欧美在线观看| 亚洲成av人在线观看| 亚洲尤物视频在线| 一区二区三区色| 亚洲综合丝袜美腿|