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

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

?? 串口助手程序編程過程2.htm

?? 串口通信成功安例
?? HTM
?? 第 1 頁 / 共 2 頁
字號:
    if((hexdata==16)||(lowhexdata==16))<br>  
    break;<br>  
    else&nbsp;<br>  
    hexdata=hexdata*16+lowhexdata;<br>  
    i++;<br>  
    senddata[hexdatalen]=(char)hexdata;<br>  
    hexdatalen++;<br>  
    }<br>  
    senddata.SetSize(hexdatalen);<br>  
    return hexdatalen;<br>   
    }<br>  
    <br>  
    //這是一個將字符轉換為相應的十六進制值的函數<br>  
    //好多C語言書上都可以找到<br>  
    //功能:若是在0-F之間的字符,則轉換為相應的十六進制字符,否則返回-1<br>  
    char CSCommTestDlg::ConvertHexChar(char ch)&nbsp;<br>   
    {<br>  
    if((ch&gt;='0')&amp;&amp;(ch&lt;='9'))<br>  
    return ch-0x30;<br>   
    else if((ch&gt;='A')&amp;&amp;(ch&lt;='F'))<br>   
    return ch-'A'+10;<br>   
    else if((ch&gt;='a')&amp;&amp;(ch&lt;='f'))<br>   
    return ch-'a'+10;<br>   
    else return (-1);<br>   
    }</font></p>          
          
    <p align="left" style="margin-top: 3; margin-bottom: 3"><font color="#000000"> </font></p>        
        
  </blockquote>
</blockquote>
<p align="left" style="margin-top: 3; margin-bottom: 3"><font color="#000000">&nbsp; 再將CSCommTestDlg::OnButtonManualsend()修改成以下形式:</font></p>           
          
<blockquote>  
  <p align="left" style="margin-top: 3; margin-bottom: 3"><font color="#000000">void CSCommTestDlg::OnButtonManualsend()&nbsp;<br>   
  {<br>  
	// TODO: Add your control notification handler code here<br>    
	UpdateData(TRUE); //讀取編輯框內容<br>    
	if(m_ctrlHexSend.GetCheck())<br>  
	{<br>  
		CByteArray hexdata;<br>    
		int len=String2Hex(m_strTXData,hexdata);  //此處返回的len可以用于計算發送了多少個十六進制數<br>    
		m_ctrlComm.SetOutput(COleVariant(hexdata));  //發送十六進制數據<br>    
	}<br>  
	else&nbsp;<br>  
		m_ctrlComm.SetOutput(COleVariant(m_strTXData));//發送ASCII字符數據<br>  
  <br>  
  }<br>  
  </font>  
  </p>          
          
</blockquote>  
<p align="left" style="margin-top: 3; margin-bottom: 3"><font color="#000000">現在,你先將串口線接好并打開串口調試助手V2.1,選上以十六制顯示,設置好相應串口,然后運行我們這個程序,在發送框中輸入00    
01 02 03 A1 CC等十六進制字符,并選上以十六進制發送,單擊手動發送,在串口調試助手的接收框中應該可以看到00    
01 02 03 A1 CC了。</font></p>           
          
<p align="left" style="margin-top: 3; margin-bottom: 3"> </p>          
          
<p align="left" style="margin-top: 3; margin-bottom: 3"><a name="9.在接收框中以十六進制顯示"><b><font color="#000000">9.在接收框中以十六進制顯示</font></b></a></p>         
         
<p align="left" style="margin-top: 3; margin-bottom: 3"><font color="#000000">&nbsp;&nbsp;&nbsp;    
這就容易多了:&nbsp;&nbsp;在主對話框中加入一個復選接鈕,IDC_CHECK_HEXDISPLAY Caption:    
十六進制顯示,再利用ClassWizard為其添加控制變量:m_ctrlHexDiaplay。    
然后修改CSCommTestDlg::OnComm()函數:</font></p>          
          
<blockquote>  
          
<p align="left" style="margin-top: 3; margin-bottom: 3"><font color="#000000">void CSCommTestDlg::OnComm()&nbsp;<br>  
{<br>  
	// TODO: Add your control notification handler code here<br>   
	VARIANT variant_inp;<br>   
	COleSafeArray safearray_inp;<br>   
	LONG len,k;<br>   
	BYTE rxdata[2048]; //設置BYTE數組 An 8-bit integerthat is not signed.<br>   
	CString strtemp;<br>   
	if(m_ctrlComm.GetCommEvent()==2)     //事件值為2表示接收緩沖區內有字符<br>   
	{<br>  
		variant_inp=m_ctrlComm.GetInput();   //讀緩沖區<br>   
		safearray_inp=variant_inp;           //VARIANT型變量轉換為ColeSafeArray型變量<br>   
		len=safearray_inp.GetOneDimSize(); //得到有效數據長度<br>   
		for(k=0;k&lt;len;k++)<br>  
			safearray_inp.GetElement(&amp;k,rxdata+k);//轉換為BYTE型數組<br>  
		for(k=0;k&lt;len;k++)             //將數組轉換為Cstring型變量<br>   
		{<br>  
			BYTE bt=*(char*)(rxdata+k);      //字符型<br>   
			if(m_ctrlHexDisplay.GetCheck())<br>  
				strtemp.Format("%02X ",bt); //將字符以十六進制方式送入臨時變量strtemp存放,注意這里加入一個空隔<br>    
			else&nbsp;<br>  
				strtemp.Format("%c",bt); //將字符送入臨時變量strtemp存放<br>    
<br>  
			m_strRXData+=strtemp;    //加入接收編輯框對應字符串&nbsp;<br>   
		}<br>  
	}<br>  
	UpdateData(FALSE);           //更新編輯框內容<br>    
}</font></p>          
          
</blockquote>  
          
<p align="left" style="margin-top: 3; margin-bottom: 3"><font color="#000000">測試:在串口調試助手發送框中輸入00    
01 02 03 A1 CC等十六進制字符,并選上以十六進制發送,單擊手動發送,在本程序運行后選上以十六進制顯示,在串口調試助手中單擊手動發送或自動發送,則在本程序的接收框中應該可以看到00    
01 02 03 A1 CC了。</font></p>           
          
<p align="left" style="margin-top: 3; margin-bottom: 3"> </p>          
          
<p align="left" style="margin-top: 3; margin-bottom: 3"><a name="10.如何設置自動發送"><b><font color="#000000">10.如何設置自動發送</font></b></a></p>         
         
<p align="left" style="margin-top: 3; margin-bottom: 3"><font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;    
最簡單的設定自動發送周期是用SetTimer()函數,這在數據采集中很有用,在控制中指令的傳送也可能用到定時發送。</font></p>          
          
<p align="left" style="margin-top: 3; margin-bottom: 3"><font color="#000000">&nbsp;&nbsp;&nbsp;    
方法是:在ClassWizard中選上MessageMap卡,然后在Objects IDs選中CSCommTestDlg類,再在Messages框中選上WM_TIMER消息,單擊ADD_FUNCTION加入void CSCommTestDlg::OnTimer(UINT nIDEvent)    
函數,這個函數是放入“時間到”后要處理的代碼:</font></p>          
          
<blockquote>  
  <p align="left" style="margin-top: 3; margin-bottom: 3"><font color="#000000">void CSCommTestDlg::OnTimer(UINT nIDEvent)&nbsp;<br>  
  {<br>  
	// TODO: Add your message handler code here and/or call default<br>   
	OnButtonManualsend();<br>  
	CDialog::OnTimer(nIDEvent);<br>  
  }<br>  
  </font></p>          
          
</blockquote>  
<p align="left" style="margin-top: 3; margin-bottom: 3"><font color="#000000">再在在主對話框中加入一個復選接鈕,ID為IDC_CHECK_AUTOSEND Caption:    
自動發送(周期1秒),再利用ClassWizard為其添加BN_CLICK消息處理函數void 
CSCommTestDlg::OnCheckAutosend():</font></p>         
         
<blockquote> 
  <p align="left" style="margin-top: 3; margin-bottom: 3"><font color="#000000">void 
  CSCommTestDlg::OnCheckAutosend()&nbsp;<br> 
  {<br> 
	// TODO: Add your control notification handler code here<br>   
	m_bAutoSend=!m_bAutoSend;<br>  
	if(m_bAutoSend)<br>  
	{<br>  
		SetTimer(1,1000,NULL);//時間為1000毫秒<br>  
	}<br>  
	else<br>  
	{<br>  
		KillTimer(1);&nbsp; //取消定時<br>   
	}<br>  
  }</font></p>          
          
</blockquote>  
<p align="left" style="margin-top: 3; margin-bottom: 3"><font color="#000000">其中:m_bAutoSend為BOOL型變量,在CLASSVIEW中為CSCommTestDlg類加入,并在構造函數中初始化:</font></p>         
         
<p align="left" style="margin-top: 3; margin-bottom: 3"><font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    
m_bAutoSen=FALSE;<br>  
現在可以運行程序測試了。<br>  
</font>  
</p>          
          
<p align="left" style="margin-top: 3; margin-bottom: 3"> </p>          
          
<p align="left" style="margin-top: 3; margin-bottom: 3"><b><a name="11.什么是VARIANT數據類型?如何使用VARIANT數據類型?"><font color="#000000">11.什么是VARIANT數據類型?如何使用VARIANT數據類型?</font></a></b></p>         
         
<p align="left" style="margin-top: 3; margin-bottom: 3"><font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;   
不知如何使用VARIANT數據類型, 有不少朋友對VARIANT這個新的數據類型大感頭疼。SetOutput()函數中   
需要的VARIANT參數還可以使用COleVariant類的構造函數簡單生成,現在GetInput()函數的返回值也成了VARIANT類型,那么如何從返回的值中提取有用的內容。   
VARIANT及由之而派生出的COleVariant類主要用于在OLE自動化中傳遞數據。實際上VARIANT也只不過是一個新定義的結構罷了,它的主要成員包括一個聯合體及一個變量。該聯合體由各種類型的數據成員構成,   
而該變量則用來指明聯合體中目前起作用的數據類型。我們所關心的接收到的數據就存儲在該聯合體的某個數據成員中。   
該聯合體中包含的數據類型很多,從一些簡單的變量到非常復雜的數組和指針。由于通過串口接收到的內容常常是一個字節串,我們將使用其中的某個數組或指針來訪問接收到的數據。這里推薦給大家的是指向一個SAFEARRAY(COleSafeArray)類型變量。新的數據類型SAFEARRAY正如其名字一樣,是一個“安全數組”,它能根據系統環境自動調整其16位或32   
位的定義,并且不會被OLE改變(某些類型如BSTR在16位或32位應用程序間傳遞時會被OLE翻譯從而破壞其中的二進制數據)。大家無須了解SAFEARRAY的具體定義,只要知道它是另外一個結構,其中包含一個   
(void *)類型的指針pvData,其指向的內存就是存放有用數據的地方。   
簡而言之,從GetInput()函數返回的VARIANT類型變量中,找出parray   
指針,再從該指針指向的SAFEARRAY變量中找出pvData指針,就可以向訪問數組一樣取得所接收到的數據了。具體應用請參見void   
CSCommTestDlg::OnComm()函數。</font></p>          
          
<p align="left" style="margin-top: 3; margin-bottom: 3"><font color="#000000">&nbsp;&nbsp;&nbsp;   
大概我現在也說不清這個問題,我自己從第一次接觸這個東西,到現在還是給別人講不清。</font></p>          
          
<p align="left" style="margin-top: 3; margin-bottom: 3"> </p>          
          
<p align="left" style="margin-top: 3; margin-bottom: 3"><font color="#000000">另:二進制收發設置請參考<a href="../scomm/scmscomm.htm">MSComm控件說明</a>。</font></p>         
         
<p align="left" style="margin-top: 3; margin-bottom: 3"> </p>         
         
<p align="left" style="margin-top: 3; margin-bottom: 3"> </p>         
         
<p align="center" style="margin-top: 3; margin-bottom: 3"><a href="#串口調試助手源程序"><font color="#000000">返回頂部</font></a></p>         
         
            <p> </TD>                    
        </tr>          
        <tr>         
          <TD width=100% valign="top">  
          
          </TD>                    
        </tr>          
        </TBODY></TABLE>                                
      <TABLE border=0 cellPadding=1 cellSpacing=1 width=550>                                
        <TBODY>                                
        <TR>                                
          <TD>                                
          </TD></TR>                                
        <TR>                                
          <TD vAlign=top width=424>    
            <p align="center"> </TD>                                
        </TR>                                
        <TR>                                
          <TD>                                
          </TD></TR>                                
        <TR>                                
          <TD vAlign=top width=424></TD>                                
        </TR>                                
        </TBODY></TABLE> <BR></TD>
    <TD align=right background=../picindex/zhe.gif height=443 vAlign=top 
    width=10 rowspan="2">&nbsp; </TD>
    <TD align=middle bgColor=#cbe4e4 vAlign=top width=150>
       </TD></TR>
  <tr>
    <TD align=middle bgColor=#cbe4e4 vAlign=top width=150 height="18">
       </TD>
  </tr>
  </TBODY></TABLE>
<TABLE align=center border=0 cellPadding=0 cellSpacing=0 width=758 height="28"> 
  <TBODY> 
  <TR> 
    <TD height="16" valign="middle" background="../picindex/looker.gif"> 
<p align="right">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;        
<FONT                                 
      color=#cc3300>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT>                   
    </TD></TR>        
  <tr>        
    <TD height="45">         
 <p align="center">轉載本站原版內容,請注明作者,并說明來自http://www.gjwtech.com                       
    </TD>         
  </tr>         
  </TBODY></TABLE>                   
<p align="center">                                                                                                                                                                                  
                                                                                                                    
                                                                                                                    
</p>                   
</BODY></HTML>                    

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲色图在线播放| 欧美老年两性高潮| 91久久精品一区二区| 欧美日韩五月天| 日韩一区二区高清| 久久久青草青青国产亚洲免观| 国产精品嫩草影院com| 夜夜揉揉日日人人青青一国产精品 | 日韩一二三四区| 26uuuu精品一区二区| 亚洲图片激情小说| 日本一不卡视频| 国产精品99久久久久久似苏梦涵| 色香蕉久久蜜桃| 日韩欧美亚洲国产另类 | 国产乱码精品一区二区三区av| 成人av网站在线观看免费| 欧美三级中文字| 欧美v国产在线一区二区三区| 国产精品麻豆久久久| 日韩av一区二区在线影视| 盗摄精品av一区二区三区| 欧美男男青年gay1069videost| 国产欧美中文在线| 日韩国产一二三区| 99re这里只有精品首页| 日韩一区二区免费在线电影| 中文字幕亚洲在| 激情文学综合插| 在线视频亚洲一区| www国产成人免费观看视频 深夜成人网| 亚洲美女屁股眼交| 国产一区二区在线观看免费| 欧美性三三影院| 日本一区二区成人在线| 理论电影国产精品| 欧美色图天堂网| 中文幕一区二区三区久久蜜桃| 亚洲一区二区三区四区不卡| 成人aaaa免费全部观看| 日韩欧美精品在线视频| 亚洲伊人色欲综合网| 国产a久久麻豆| 日韩欧美高清在线| 亚洲成人自拍偷拍| 91网站最新网址| 国产日韩欧美激情| 麻豆精品一区二区综合av| 欧洲国内综合视频| 亚洲欧洲日韩女同| 国产福利一区二区三区视频在线| 欧美日韩电影在线播放| 亚洲欧美另类在线| av一区二区三区四区| 26uuu国产日韩综合| 麻豆91免费看| 51精品久久久久久久蜜臀| 亚洲日本va午夜在线电影| 成人午夜精品在线| 国产日韩欧美精品在线| 韩国视频一区二区| 欧美成人aa大片| 美女一区二区三区在线观看| 欧美日韩在线播放三区四区| 亚洲色图在线视频| 91在线小视频| 亚洲欧美一区二区久久| 北条麻妃国产九九精品视频| 久久精品亚洲精品国产欧美kt∨| 精品在线一区二区三区| 日韩欧美激情在线| 久久国产精品一区二区| 日韩免费成人网| 激情五月激情综合网| 亚洲精品一区二区三区精华液| 麻豆精品在线视频| 欧美mv和日韩mv国产网站| 久久国产精品免费| 久久综合色鬼综合色| 国产乱码精品一区二区三区av| 久久久久久久国产精品影院| 国产一区二区伦理| 国产欧美一二三区| 成人黄色在线看| 国产精品美女久久久久av爽李琼 | 国产婷婷精品av在线| 成人激情黄色小说| 亚洲日本中文字幕区| 在线这里只有精品| 午夜欧美在线一二页| 欧美日韩精品一区视频| 蜜桃视频第一区免费观看| 精品国产污网站| 国产91对白在线观看九色| 国产精品国产三级国产专播品爱网 | 在线播放91灌醉迷j高跟美女 | 在线观看www91| 亚洲国产精品嫩草影院| 91精品国产91热久久久做人人| 看电影不卡的网站| 精品欧美乱码久久久久久| 国产白丝精品91爽爽久久| 亚洲欧美另类久久久精品2019 | 日韩不卡在线观看日韩不卡视频| 日韩一级欧美一级| 国产精品影视天天线| 亚洲乱码日产精品bd| 欧美一区二区三区系列电影| 国内精品在线播放| 成人欧美一区二区三区视频网页 | 亚洲一区二区在线观看视频| 69久久夜色精品国产69蝌蚪网| 韩国女主播成人在线观看| 亚洲欧美一区二区在线观看| 欧美精品自拍偷拍| 国产一区二区伦理片| 亚洲精品免费电影| 欧美一级艳片视频免费观看| 国产精品一线二线三线| 亚洲永久精品国产| 久久精品视频一区二区三区| 色综合久久久久综合99| 日韩不卡一区二区三区| 国产精品蜜臀在线观看| 欧美高清视频不卡网| 国产精品一区二区x88av| 亚洲国产综合91精品麻豆| 精品国产污污免费网站入口| 91久久久免费一区二区| 久久66热偷产精品| 亚洲精品国产一区二区精华液| 精品理论电影在线| 在线观看不卡一区| 国产精品一区二区久激情瑜伽| 亚洲第一激情av| 亚洲国产精品精华液2区45| 4438x成人网最大色成网站| 成人中文字幕在线| 日韩电影在线观看一区| 亚洲视频 欧洲视频| 日韩免费在线观看| 欧美视频自拍偷拍| 成人妖精视频yjsp地址| 久久精品国产亚洲一区二区三区| 亚洲精品久久嫩草网站秘色| 久久久久亚洲蜜桃| 欧美电影在哪看比较好| 99久久777色| 国产精品影视网| 青青草国产成人99久久| 亚洲自拍与偷拍| 18成人在线观看| 国产亚洲精品7777| 日韩欧美综合一区| 欧美天天综合网| 91首页免费视频| 国产成人av一区二区三区在线 | 99re这里只有精品首页| 久久99精品久久只有精品| 午夜精品爽啪视频| 亚洲一区欧美一区| 亚洲精品一卡二卡| 亚洲国产电影在线观看| 精品福利av导航| 欧美一级艳片视频免费观看| 欧美色窝79yyyycom| 色综合久久久久久久| 99精品一区二区| 国产精品乡下勾搭老头1| 紧缚奴在线一区二区三区| 秋霞av亚洲一区二区三| 天天综合天天综合色| 一个色综合av| 一区二区久久久久久| 亚洲日本护士毛茸茸| 亚洲视频在线一区观看| 国产精品欧美久久久久无广告| 久久先锋影音av| 日韩免费高清视频| 精品乱人伦一区二区三区| 日韩欧美在线1卡| 日韩一级片在线观看| 日韩午夜激情av| 日韩一二三区视频| 精品国产一二三| 久久久www成人免费无遮挡大片| 日韩三级精品电影久久久| 日韩女优视频免费观看| 欧美一区二区三区公司| 日韩欧美一级二级三级久久久| 欧美一区二区三区四区在线观看| 欧美一级欧美一级在线播放| 欧美一区二区视频在线观看| 日韩一区二区三区在线观看| 欧美一区二区三区视频免费播放| 91精选在线观看| 日韩欧美一区在线观看| 国产午夜三级一区二区三| 国产欧美日韩在线| 国产精品免费观看视频|