欢迎来到天天文库
浏览记录
ID:19323516
大小:37.00 KB
页数:9页
时间:2018-10-01
《手写板串行通信检测程序解析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、手写板串行通信检测 OptionExplicit PrivateConstWM_USER=&H400 PrivateConstEM_SETTARGETDEVICE=(WM_USER+72) PrivateDeclareFunctionGetDCLib"user32"(ByValhWndAsLong)AsLong PrivateDeclareFunctionSendMessageLib"user32"Alias"SendMessageA"_ (ByValhWndAsLong,_ ByValwMsgAsLong,
2、_ ByValwParamAsLong,_ lParamAsAny)AsLong PublicSubAutoSwitchLine(ByRefRichTextAsRichTextBox,ByValbSwitchAsBoolean) IfbSwitchThen '设置 RichTextBox 自动换行 CallSendMessage(RichText.hWnd,EM_SETTARGETDEVICE,_ GetDC(RichText.hWnd),RichText.Width/15) IfRic
3、hText.RightMargin=0Then RichText.RightMargin=1 Else RichText.RightMargin=0 EndIf Else '设置 RichTextBox 不自动换行 CallSendMessage(RichText.hWnd,EM_SETTARGETDEVICE,0,1) EndIf EndSub PrivateSubForm_Load() AutoSwitchLineRichTextBox1,True DimiAsIn
4、teger StatusBar1.Panels(2).Text="日期:时间"&Now '初值赋给Combo_FontSizeEndSubPrivateSubMSComm1_OnComm() CommPort=1 MSComm.Settings="9600,N,8,1" MSComm.InBufferSize=40 '设置缓冲区接收数据为40字节 MSComm.InBufferCount=0 MSComm.InputMode=comInputModeBinary '二进制方式 MSComm.In
5、putLen=0 '每次读入缓冲区所有字符 MSComm.PortOpen=True '打开串口EndSubPrivateSubRichTextBox1_MouseMove(ButtonAsInteger,ShiftAsInteger,xAsSingle,yAsSingle)StatusBar1.Panels(1).Text="x:"&x&",y:"&y '将光标(x,y)赋给状态栏的第1个窗格EndSubPrivateSubTimer1_Timer()StatusBar1.Panels(
6、2).Text="日期:时间"&NowEndSubPrivateSubTimer2_Timer()DimInByte()AsByte IfMSComm1.InBufferCount>0Then '判断串口是否有数据输入 InByte=MSComm1.Input '将串口数据读取到InByte DimjAsLong DimaAsInteger DimbAsInteger Forj=0ToUBound(InByte) '循环到指针上标 a=(InByte(j)Mod16) '将读取的数据分解
7、成十六进制数据显示 b=((InByte(j)-a)/16) SelectCaseb Case1 RichTextBox1.Text=RichTextBox1.Text+"1" Case2 RichTextBox1.Text=RichTextBox1.Text+"2" Case3 RichTextBox1.Text=RichTextBox1.Text+"3" Case4 Ri
8、chTextBox1.Text=RichTextBox1.Text+"4" Case5 RichTextBox1.Text=RichTextBox1.Text+"5" Case6 RichTextBox1.Text=RichTextBox1.Text+"6" Case7
此文档下载收益归作者所有