如何发送或接收>128的ASCII码字符(VB5)

sep 2000-07-14 11:09:00
在做VB5 Mscomm通讯程序时,Sendd$=Asc$(111)+Asc$(239)+Asc$(243)+Asc$(155)+Asc$(88);Mscomm1.output=sendd$ &vbCr,>128的字符皆出现错误,是否为32位系统缘故,如何限定在0 ~255AscII字符集内?
...全文
208 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
sep 2000-08-07
  • 打赏
  • 举报
回复
字节数组,Binary可也。
Un1 2000-07-17
  • 打赏
  • 举报
回复
InputMode是否已设置为comInputModeBinary
leslielu 2000-07-14
  • 打赏
  • 举报
回复
要用到byte类型的数组。你可以看有关这个的VB说明。我有些时间不用了。好象是
dim a() as byte
dim b
redim a(0)
a(0)=145
b=a
再发送b就行了。如果没记错,MSCOMM是要发送类型为Variant.
liyang 2000-07-14
  • 打赏
  • 举报
回复
你不要用ASC$,用ASC就好了。
Janven 2000-07-14
  • 打赏
  • 举报
回复
0-127的字符才是可打印的,也就是说128-255的字符是字符串不识别的,ASC(CHR(243))=0,你用字符串去传送肯定不行,用ASC也不行,这不是0-255的问题,而是0-127的问题。还是用字节数组吧
VB.NET写串口助手,亲测可用,简单实用。 网上大大部分都实用AXcom控件而非serial port,各种函数都不一样。 这是一个最新的用serial port 来写的,包括委托的线程的关系。 这是我3年前的一个例子,最近翻出来回忆一下。 串口是计算机上一种非常通用设备通信的协议。大多数计算机包含两个基于RS232的串口,现在配电脑好像只有一个。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。同时,串口通信协议也可以用于获取远程采集设备的数据。串口通信在工控领域用途很广。 串口通信的概念非常简单,串口按位(bit)发送接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总常不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。 典型地,串口用于ASCII码字符的传输。通信使用3根线完成:(1)地线,(2)发送,(3)接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通行的端口,这些参数必须匹配: a,波特率:这是一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如300波特表示每秒钟发送300个bit。当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz。这意味着串口通信在数据线上的采样率为4800Hz。通常电话线的波特率为14400,28800和36600。波特率可以远远大于这些值,但是波特率和距离成反比。高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。 b,数据位:这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。如何设置取决于你想传送的信息。比如,标准的ASCII码是0~127(7位)。扩展的ASCII码是0~255(8位)。如果数据使用简单的文本(标准 ASCII码),那么每个数据包使用7位数据。每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧