关于学习串口的问题!!

vood 2003-08-29 08:08:46
小弟近日接到一个工程
是关于串口通信的问题,出来没有接触过这个方面,想请教,用什么编程好呢?
vc++还是vb呢?
...全文
32 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
nriet8357 2003-08-30
  • 打赏
  • 举报
回复
程序不复杂的话,就用VB。
金笛子 2003-08-30
  • 打赏
  • 举报
回复
我觉得vood还是去看个例子吧下列代码是一个控制串口的实例:
ole1:MSCOMM32控件;
SuperTracker:是一个接在串口上的设备;
chr()中的值是该设备的指令。

para nnn
serr=0
thisform.ole1.output=chr(2)+chr(6)+chr(3)
ltime=datetime()
do whil thisform.ole1.InBufferCount=0
if datetime()-ltime>12
=msg("警告","得不到SuperTracker的控制信号。","!O")
thisform.ole1.portopen=.f.
serr=1
retu
endif
enddo
mscomm=thisform.ole1.input
if str(mscomm(1),1)+str(mscomm(2),1)+str(mscomm(3),1)<>'263'
=msg("警告","得不到SuperTracker的控制信号。","!O")
thisform.ole1.portopen=.f.
serr=1
retu
endif
do case
case nnn=1
thisform.ole1.output=chr(2)+chr(35)+chr(83)+chr(3)
case nnn=2
thisform.ole1.output=chr(2)+chr(35)+chr(85)+chr(3)
case nnn=3
thisform.ole1.output=chr(2)+chr(35)+chr(66)+chr(3)
endcase
ltime=datetime()
do whil thisform.ole1.InBufferCount=0
if datetime()-ltime>20
=msg("警告","得不到SuperTracker的控制信号。","!O")
thisform.ole1.portopen=.f.
serr=1
retu
endif
enddo
mscomm=thisform.ole1.input
if str(mscomm(1),1)+str(mscomm(2),1)+str(mscomm(3),1)<>'263'
do case
case nnn=1
=msg("警告","SuperTracker无法进卡。","!O")
case nnn=2
=msg("警告","SuperTracker卡在里面。","!O")
case nnn=3
=msg("警告","SuperTracker卡在出口处。","!O")
endcase
thisform.ole1.portopen=.f.
serr=1
retu
endif

若楼主有兴趣的话可以用二种语言去编程说不定各有千秋还是去试试看吧
vood 2003-08-29
  • 打赏
  • 举报
回复
但是,
哪个更容易上手呢?
SmileWolf 2003-08-29
  • 打赏
  • 举报
回复
VB和VC都是一样的。windows下操作串口不外乎两种手段:API编程和那个MS控件。当然,用控件的话,VB方便一些;用API,VC方便一些。但没有什么大的区别。
Skt32 2003-08-29
  • 打赏
  • 举报
回复

vc++
http://www.vckbase.com/code/listcode.asp?mclsid=9&sclsid=907

69,368

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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