要用委托的形式(界面上拖一個txt_Rect文本框)
創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供江永網(wǎng)站建設(shè)、江永做網(wǎng)站、江永網(wǎng)站設(shè)計、江永網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、江永企業(yè)網(wǎng)站模板建站服務(wù),十多年江永做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
Delegate?Sub?SetTextCallback(ByVal?InputString?As?String)
Private?Sub?ShowString(ByVal?comData?As?String)
txt_Rect.Text?+=?comData???'將收到的數(shù)據(jù)入接收文字框中
txt_Rect.SelectionStart?=?txt_Rect.Text.Length
txt_Rect.ScrollToCaret()
End?Sub
Private?Sub?SerialPort1_DataReceived(ByVal?sender?As?Object,?ByVal?e?As?System.IO.Ports.SerialDataReceivedEventArgs)?Handles?SerialPort1.DataReceived
Dim?inData?As?String?=?SerialPort1.ReadExisting
Dim?d?As?New?SetTextCallback(AddressOf?ShowString)
BeginInvoke(d,?inData)
End?Sub
這是我配置vs2005的模擬器,你參考一下吧。
1. 在VS2005里新建項目中時,選擇創(chuàng)建Platform builder for CE 6.0的OS Design,新項目可以自
命名,這里命名為“MyEmulator”。
2. 創(chuàng)建MyEmulator的向?qū)е校珺SP一定要選擇“Device Emulator: ARMV4I”,下一步;
3. 模板(Design Templates)選擇“PDA Device”,下一步;
4. 選擇“Mobile Handheld”,下一步;
5. 應(yīng)用程序(Application Media)就隨自己的需要選擇,下一步;
6. 網(wǎng)絡(luò)和通信(Networking Communications)在此只選擇“Local Area Network(LAN)”,下一步;
7. 選擇完成;
8. 選擇Acknowledge;
到此工程建完;
四.添加組件(可以根據(jù)需要添加,這里主要添加漢字相關(guān)的組件)
(1) 添加漢字字庫(這里要記得加入,很多人這里沒有加入,就出現(xiàn)漢字只看到方框的現(xiàn)象):
1. 在Catalog View添加“Core OS”--“CEBASE”--“International”--“Locale Specific support”--“Chinese (Simplified)”--“Fonts”--“SimSun NSimSum(choose 1)”--“SimSun NSimSun”或者“SimSum NSimSun (Subset 2_50)”;
2. 在Catalog View添加“Core OS”--“CEBASE”--“International”--“Locale Specific support”--“Chinese (Simplified)”--“GB18030 Data Vonverter”和“Monotype Imaging AC3 Font Compression”;
(2)添加中文輸入法:
在Catalog View添加“Core OS”--“CEBASE”--“International”--“Locale Specific support”--“Chinese (Simplified)”--“Input Method Editor”--“MSPY 3.0 for Windows Embedded CE”;
(3) VS2005中菜單“項目”--“MyEmulator(項目名)屬性”,配置選擇“所有配置”,配置屬性--“Build Options”,在“Build Options”中去掉“Enable KITL (no IMGNOKITL=1)” (這里如果加入了KITL功能的話,可能在模擬器運行的時候,會一直是黑屏的);
(4) “Locale”中,Locales先Clear All,然后選擇“中文(中國)”,Default local選擇“中文(中國)”;
(5) 運行VS2005菜單“生成”--“生成MyEmulator”;
五.構(gòu)建SDK:
1. 運行VS2005菜單“項目”--“Add New SDK…”,在SDK屬性頁中填寫必要的信息,屬性“Emulation”中Configuration 選擇Debug,可以設(shè)置模擬器的顯示屏大小及色深,還有內(nèi)存大小,在此設(shè)置為240 x 320,16色深,128M內(nèi)存,然后“應(yīng)用”,“確定”。。
2. 然后運行VS2005菜單“生成”--“Build All SDK…”,順利的話,就會在%WINCEROOT\OSDesigns\ \MyEmulator\MyEmulator\SDKs\SDK1\MSI\下會有MyEmulator.msi;
六.配置VS2005:
1、先安裝生成好的MyEmulator.msi。運行Visual Studio 2005,選擇菜單“工具->選項”,打開選項設(shè)置對話框,從左邊的樹型列表中選擇“設(shè)備工具->設(shè)備”,右邊的下拉列表框拉到底可以看到 “MyEmulator”,這就是剛剛生成的那個模擬器。下面的設(shè)備列表里有兩項,雙擊MyEmulator,設(shè)定傳輸為DMA傳輸,再點擊“仿真器選 項”,在“顯示”選項卡里設(shè)定好模擬器屏幕尺寸,顏色深度等,全部保存。
2、用VS2005新建一個智能設(shè)備項目,向?qū)нx擇平臺時,先刪除Pocket PC 2003,選擇MyEmulator,完成。然后按F5運行程序,順利的話定制的模擬器就會出來了(不過這個過程比較慢,需要等待一段時間)。
Do
System.Windows.Forms.Application.DoEvents()
Loop Until AxMSComm1.InBufferCount 0
死循環(huán)。
mscomm1.inputmode
=
cominputmodebinary
mscomm1.settings="9600,n,8,1"
mscomm1.commport=1
mscomm1.portopen=true
以上打開串口
dim
senddata()
as
byte
mscomm1.output=senddata
發(fā)送數(shù)據(jù)了
協(xié)議是你自已選或是自己決定的
比如說modbus
redim
senddata(7)共8字節(jié)指令
senddata(0)=下位機地址
senddata(1)=功能碼
...
..
.senddata(7)=crc校驗低8位
mscomm1.output=senddata
發(fā)送
你可以預(yù)先約定一個截止附,讀取的字節(jié)統(tǒng)統(tǒng)放到緩存區(qū)里,直到讀到截止附再處理、顯示。
上面的代碼看不出問題,如果初始化串口控件時已經(jīng)注冊了AxMSComm1_OnComm,有數(shù)據(jù)接收應(yīng)該能觸發(fā),至于為什么沒有觸發(fā),要看看你的接收方是否已經(jīng)收到你的發(fā)出指令,是否已經(jīng)有響應(yīng)數(shù)據(jù)回發(fā)。
建議分開調(diào)試,用一個通用的串口助手,如格西烽火串口助手之類的,分別調(diào)試你的上位機和下位機。格西烽火串口助手能輕松的定制如你上面的發(fā)送數(shù)據(jù)。