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

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

?? eprodlg.cpp

?? EasyIsp下載線電路圖
?? 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一区二区三区免费野_久草精品视频
56国语精品自产拍在线观看| 国产成人免费av在线| 精品一区二区三区久久| 国产mv日韩mv欧美| 色就色 综合激情| 日韩欧美电影一区| 国产精品毛片大码女人| 亚欧色一区w666天堂| 狠狠v欧美v日韩v亚洲ⅴ| 北条麻妃国产九九精品视频| 欧美三级韩国三级日本一级| 日韩精品一区二区三区swag| 国产精品传媒入口麻豆| 成人avav影音| 欧美精品久久久久久久多人混战| 精品国产髙清在线看国产毛片| 国产精品每日更新在线播放网址 | 成人永久免费视频| 欧美性色欧美a在线播放| 精品久久久久久久久久久久久久久 | 综合av第一页| 日韩av电影免费观看高清完整版在线观看 | 色综合久久久久综合体| 欧美一级免费大片| 最新国产精品久久精品| 免费成人在线播放| 91视频91自| 精品成人私密视频| 亚洲一区二区三区中文字幕在线| 国产乱码精品一品二品| 欧美三区在线视频| 国产欧美视频一区二区| 丝袜美腿亚洲一区二区图片| av亚洲精华国产精华精| 日韩一级大片在线观看| 亚洲自拍偷拍图区| 成人亚洲一区二区一| 日韩免费电影网站| 一区二区三区小说| 国v精品久久久网| 日韩欧美国产一区二区在线播放| 一卡二卡三卡日韩欧美| 成人视屏免费看| 精品国产免费视频| 天天av天天翘天天综合网| jlzzjlzz欧美大全| 偷拍一区二区三区四区| 成人动漫一区二区在线| 日韩一级二级三级| 日日噜噜夜夜狠狠视频欧美人| 色婷婷久久99综合精品jk白丝 | 精品无码三级在线观看视频 | 蜜桃在线一区二区三区| 欧美日韩精品一区二区三区蜜桃 | 在线观看日韩国产| 国产精品久久毛片| 高清shemale亚洲人妖| 精品久久国产字幕高潮| 三级精品在线观看| 欧美精品日韩综合在线| 亚洲国产中文字幕在线视频综合| 91视频在线观看免费| 亚洲欧洲日本在线| 成人性生交大片免费看中文网站| 欧美精品一区二区三区在线| 免费欧美在线视频| 日韩一区二区三区在线| 青青草原综合久久大伊人精品| 欧美老人xxxx18| 亚洲国产毛片aaaaa无费看| 欧美最新大片在线看 | 欧美女孩性生活视频| 一区二区三区免费网站| 在线视频国产一区| 亚洲资源在线观看| 欧美日韩在线直播| 五月综合激情日本mⅴ| 欧美日韩国产色站一区二区三区| 亚洲夂夂婷婷色拍ww47| 在线观看日韩精品| 日日骚欧美日韩| 日韩精品一区二区三区三区免费 | 欧美精品一区二区三区蜜桃 | 欧美国产精品专区| 成人av电影在线播放| 国产精品久久久久久久久晋中| 成人妖精视频yjsp地址| 亚洲视频电影在线| 欧美日韩一本到| 奇米在线7777在线精品| 久久综合久久综合久久| 高清成人免费视频| 亚洲精品国产无天堂网2021 | 青娱乐精品视频在线| 精品久久人人做人人爰| 国产成人av电影在线播放| 国产精品久久久久久久久久免费看 | 亚洲免费观看高清完整版在线观看| 99国产精品久久久久久久久久久| 亚洲精品国产第一综合99久久| 欧美日韩免费电影| 另类人妖一区二区av| 久久久国产精品麻豆| 成人av午夜电影| 亚洲一级在线观看| 精品入口麻豆88视频| 国产不卡视频在线观看| 一区二区三区久久久| 欧美一区二区三区婷婷月色| 国产福利一区二区| 伊人一区二区三区| 在线不卡中文字幕播放| 国产麻豆欧美日韩一区| 亚洲精品成a人| 日韩精品中文字幕在线不卡尤物| 高清av一区二区| 亚洲v精品v日韩v欧美v专区| 国产亚洲欧美日韩俺去了| 色菇凉天天综合网| 另类中文字幕网| 亚洲色图在线播放| 精品国产自在久精品国产| 99国产精品99久久久久久| 日韩高清欧美激情| 国产精品欧美久久久久无广告| 欧美另类videos死尸| 波多野结衣在线一区| 日韩国产欧美在线视频| 国产精品久久久久久久第一福利| 欧美日韩精品一区二区三区四区 | 国产精品丝袜黑色高跟| 欧美日韩在线播放一区| 懂色av中文字幕一区二区三区| 亚洲成人在线免费| 国产精品色在线| 日韩视频123| 在线视频中文字幕一区二区| 国产91精品免费| 日韩高清在线一区| 亚洲男人电影天堂| 久久精品视频一区| 欧美日韩在线播放三区| www.亚洲精品| 极品少妇xxxx精品少妇偷拍| 五月婷婷久久综合| 中文字幕五月欧美| 久久久午夜电影| 日韩一区二区免费电影| 欧美性极品少妇| 91麻豆产精品久久久久久| 国产在线乱码一区二区三区| 亚洲h在线观看| 一区二区三区欧美亚洲| 国产精品免费av| 2021国产精品久久精品| 欧美日韩一区成人| 一本色道综合亚洲| 成人福利在线看| 国产福利一区二区| 在线观看成人免费视频| 成人免费视频一区二区| 韩日av一区二区| 蜜桃av一区二区三区| 五月综合激情网| 亚洲一区二区三区爽爽爽爽爽| 国产精品久久久久一区二区三区共 | 午夜伦欧美伦电影理论片| 一区二区三区91| 亚洲欧美另类久久久精品2019| 国产精品女上位| 欧美国产激情一区二区三区蜜月| 精品国产第一区二区三区观看体验| 日韩视频在线永久播放| 91精品久久久久久蜜臀| 777a∨成人精品桃花网| 欧美三区在线观看| 在线观看一区二区视频| 91久久香蕉国产日韩欧美9色| 99re热视频这里只精品| 99精品久久99久久久久| 91在线精品一区二区| 91免费国产在线观看| aaa亚洲精品| 色婷婷一区二区| 欧美性色aⅴ视频一区日韩精品| 欧美亚洲精品一区| 欧美午夜免费电影| 欧美色爱综合网| 欧美日韩电影在线播放| 欧美久久久久久久久中文字幕| 欧美色老头old∨ideo| 欧美日韩中字一区| 欧美日韩美女一区二区| 777xxx欧美| 精品国产伦理网| 国产视频不卡一区| 国产精品视频观看| 亚洲欧美另类综合偷拍| 亚洲小说欧美激情另类| 首页亚洲欧美制服丝腿|