当前位置:首页 > TAG信息列表 > serialport.write

serialport.write

SerialPort发送与接收16进制数据讲解

serialport发送与接收16进制数据程序
上位机和单片机通信用16进制比较多,下面是16进制通信的例子,数据发送用write,数据接收用readbyte。

importssystem.io.ports'使用serialport所引用的命名空间
publicclassform1
dimfx()asbyte'待发送数据数组
dimrc()asbyte'接收数据数组
privatesubbutton1_click(byvalsenderassystem.object,byvaleassystem.eventargs)handlesbutton1.click
ifbutton1.text="打开串口"then
serialport1.portname="com1"
serialport1.open()'串口打开与关闭
button1.text="关闭串口"
button2.enabled=true
timer1.enabled=true
else
ifserialport1.isopenthenserialport1.close()
button1.text="打开串口"
timer1.enabled=false
button2.enabled=false
endif
endsub
'待发送数据处理与发送
privatesubbutton2_click(byvalsenderassystem.object,byvaleassystem.eventargs)handlesbutton2.click
dimiasinteger
dimnasinteger
dimcmdasstring=textbox1.text
n=len(cmd)\2
redimfx(n)
fori=1ton
fx(i)=cbyte("&h"&mid(cmd,2*i-1,2))
next
serialport1.write(fx,1,n)'发送数组fx第1到n数据
endsub
'数据定时接收与显示
privatesubtimer1_tick(byvalsenderassystem.object,byvaleassystem.eventargs)handlestimer1.tick
dimstrrcasstring
dimiasinteger
dimnasinteger
n=serialport1.bytestoread'读缓冲区数据量,有数据则接收
ifn>0then
redimrc(n)
strrc=""
fori=1ton
rc(i)=serialport1.readbyte
strrc+=cstr(hex(rc(i)))&""'数据转为16进制显示
next
textbox2.text=strrc
endif
endsub
endclass


滑板什么牌子好 比特龙

  • 关注微信关注微信

猜你喜欢

微信公众号