用全部家當換一個答案

little_liu 2004-08-16 11:14:38
用MScomm通訊.通訊方式為二進制方式. 發送text中的字符. 下位机用單片机不做任何數据轉換處理. 用以下程序:
Public outbyte() As Byte
Private Sub Command1_Click(Index As Integer)
buf = Trim(Text1.text)
outbyte = CStr(Chr(buf))
Form1.MSComm1.Output = outbyte
End Sub
可以將text中的數字轉化位ASCII發送給單片机. 通過仿真知道
發送數据 得到數据
01 01
09 09
10 A
127 7F
128 80
129 00
怎么不能發送超過128的數字? 我想實現這樣的功能﹕在text中輸入00-99. 單片机得到00-99
text輸入AA-FF.單片机得到AA-FF.也就是十六進制00-ff怎樣在VB中處理才能使下位机的到相同的數字?
...全文
196 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
lsftest 2004-08-16
  • 打赏
  • 举报
回复
参考:
http://www.gjwtech.com/scomm/sc2vb6mscomm128chapi.htm
MY2000 2004-08-16
  • 打赏
  • 举报
回复
UP
little_liu 2004-08-16
  • 打赏
  • 举报
回复
先謝. 但是還是不行.提示 "形態不符" 然后outbyte(0) = CByte(buf)顯示黃色.
再想一想.
sxs69 2004-08-16
  • 打赏
  • 举报
回复
Public outbyte(0) As Byte

Private Sub Command1_Click()
Dim buf As String
buf = Trim(Text1.Text)
outbyte(0) = CByte(buf)
Form1.MSComm1.Output = outbyte
End Sub
ryuginka 2004-08-16
  • 打赏
  • 举报
回复
up
little_liu 2004-08-16
  • 打赏
  • 举报
回复
是啊! 很寒酸吧. 問了几次.可能我問的方式有問題.的不到好的答案.
Rozre 2004-08-16
  • 打赏
  • 举报
回复
全部家當就只有10分?
little_liu 2004-08-16
  • 打赏
  • 举报
回复
outbyte = ChrB(buf)
搞定啦! 原來要將chr后加個B字.
little_liu 2004-08-16
  • 打赏
  • 举报
回复
應該沒有問題吧. 一直在用啊. 還有哪些比較重要的設置嗎?
fcbh 2004-08-16
  • 打赏
  • 举报
回复
你的串口的配置对吗?
我是过没有问题的!
little_liu 2004-08-16
  • 打赏
  • 举报
回复
試驗了. 無效. 還是不能夠超過128.是不是我的電腦有問題. 并且不能傳字母A-F.
只能傳輸數字0-128.
dim outbyte() as byte
buf = Trim(Text1.text)
outbyte = CStr(Asc(buf))
outbyte = CStr(Chr(buf)) '傳輸數字
Form1.MSComm1.Output = outbyte

7,763

社区成员

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

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