VB串口怎样与单片机传送汉字_第1页
VB串口怎样与单片机传送汉字_第2页
VB串口怎样与单片机传送汉字_第3页
全文预览已结束

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、在 VB 内部都是以两个字节表示一个字符,即双字节字符。VB串口发送数据:默认以字符形式发送,一般 8 位构成一字节,字符范围为 0-255,其中字符 0-128 能被发送,大于 128 的字符不能被发送。0-127 范围的字符,包含普通字符和控制字符;大于 128的字符为不可见字 符,中文字符由两个大于 128 的字符组合成一个中文字符。若将VB内部数据发送到串口,则需要进行编码方式转换,例:textl. text二 “12a文”,则使用 LEN(text1.text) 可计算出 text1.text 字符串的字符数为 6,使用 LENB(text1.output=textl.text发送到

2、串口,贝S VB会自动将小于等于128的字符抹去高8位,剩下 的低 8 位构成一字节表示原来的字符,即将双字节字符转换成单字节字符后再 发送到串口。大于 128的字符仍然为双字节字符,发送时按照转换后的编码方 式进行发送。也可以人为使用 StrConv(text1.text,vbFromU nicode)函数将字符串中双字节字符转换成单字节字符,转换 后再计算 LENB(StrConv(text1.text,vbFromUnicode),得出转换后字节数为 & 注意:单独发送大于128的单字节时,将默认发送ascii码为0的字符,即空字符 0000。若直接向串口发送双字节的汉字,则 VB可以先

3、后发送该汉字包含的两个 字节(尽管这两个字节都大于 128)。例:VB 向单片机发送 “中”中文字符时,过程为先向单片机发送 “中”字符的高 8 位的一个字节,再发送低8位的一个字节,中文字符的ascii码16进制表示方式 为hex(asc( “”)中”的ascii码16进制表示为D6D0;所以单片机若想要通过 串口给VB发送中文字符,则需要先发送汉字高 8位的一个字节,再发送低8位 的一个字节;如向VB发送中:则依次发D6,DO。VB串口接收数据:一,以文本方式接收:若以文本方式接收数据,则接收到小于 128的字符,将在该字符高 8位补 0,转换为双字节字符后存入接收缓冲区中。例:1.inp

4、ut)字节数为2。若接收到大于128的字符,则VB等待接收到下一个 字节共同合成VB中的一个双字节字符(即汉字)。实际测试中,当VB只收到一 个大于 128 的字符时,软件会出现假死现象。大概是由于软件一直在等待接收 下一字节进行组合字符而引起的。也就是说VB只要收到一个大于128的字符,便会认为这是一个双字节字符 (汉字)并等待接收下一字节进行组合。所以实际工 程中,若没有涉及到双字节字符的传输时,则应尽量避免传输大于 128的字 符,即1xxx xx,避免发送最高位为1的字符。综上,VB不能发送大于128的单独字符;也不能接收大于128的单独字 符,实际测试表明:若接收到大于 128的单字

5、节,则软件假死一会,然后取出接收缓冲区中该 字符, Dim receivedat As String, receivedat = MSComm1.Input, Label1. Caption= LenB(receivedat,) Label2. Caption 二 Len(receivedat, 结果 Label1.Caption 显示 2,Label2.Caption显示1。虽然能收到大于128的该字符,VB将该字符进行合成后 并且成为了 VB 内部认可的一个双字节字符,因为使用 asc(MSComm1.1 nput)函数求其ascii码为0,在VB的界面上也是不可见的,所以该字符 可以认为是无意义的。1.i nput (接收缓冲区)中,供用户操作。经测试,可以让单片机依次向

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论