CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  PowerBuilder >  基础类

balloonman2002兄及各位高手,帮助看看串口通讯的问题

楼主nsqsmile(阿南)2004-12-03 12:57:58 在 PowerBuilder / 基础类 提问

balloonman2002兄,可以插入了,不过键值应该没有@="  
   
  但我用下面的代码,无法读取呀,是不是portopen   设为true   后,读卡器read灯就应该亮的  
   
  string   ls_a  
  ole_1.object.CommPort   =   1  
  ole_1.object.settings   =   "9600,n,8,1"  
  ole_1.object.inputlen   =   0  
  ole_1.object.inbuffersize   =   1024  
  ole_1.object.inbuffercount   =   0  
  ole_1.object.portopen   =   true  
   
  do  
  yield()  
  loop   until   ole_1.object.inbuffercount>=1  
   
  ls_a   =   ole_1.object.input  
  messagebox("",ls_a)  
  ole_1.object.portopen   =   false  
  问题点数:100、回复次数:14Top

1 楼sdycy(冬冬)回复于 2004-12-03 13:07:49 得分 10

如果是读卡器的话,不建议用上述方法,不是太可靠  
  建议直接使用读卡器厂商的DLL(一般厂家都会提供)  
  或者自己写DLLTop

2 楼lzp_lrp(lzp)回复于 2004-12-03 13:11:34 得分 10

现在的厂商一般都有自己的控件(ocx),你直接找厂商要,然后根据他们提供的资料进行操作即可  
   
  用微软的OCX,代码很容易出问题  
   
  建议找厂商要OCX,呵呵Top

3 楼nsqsmile(阿南)回复于 2004-12-03 13:50:03 得分 0

这是银行的刷卡机,他们都不知道是哪个公司生产的。  
  我们给用户实现银行代扣业务,需要把帐号读出来,向厂商要是不可能的了,银行的系统还不桎道是谁做的,并且肯定是买的读卡器厂商的,又要转一次Top

4 楼renwanly(★★★★)回复于 2004-12-03 15:24:18 得分 5

没做过,关注Top

5 楼nsqsmile(阿南)回复于 2004-12-03 15:55:05 得分 0

救命呀兄弟们Top

6 楼lzp_lrp(lzp)回复于 2004-12-03 18:48:59 得分 10

你用了上面代码以后,有什么反应?是messagebox里是空的,还是程序出错了?Top

7 楼nsqsmile(阿南)回复于 2004-12-03 20:07:14 得分 0

一直执行循环。  
  Top

8 楼nsqsmile(阿南)回复于 2004-12-03 20:09:28 得分 0

有没有搞过银行卡的刷卡机的,我问了一下别人,说不能直接通过com读Top

9 楼progrose(编程小子)回复于 2004-12-03 20:55:43 得分 5

串口中数据是不断的,   循环就对了。应该在程序中判断并适时退出循环。Top

10 楼nsqsmile(阿南)回复于 2004-12-03 21:48:32 得分 0

to   progrose(初级程序员)    
  until   ole_1.object.inbuffercount>=1     这样退出不行吗?Top

11 楼lzp_lrp(lzp)回复于 2004-12-04 18:09:54 得分 30

不能这样循环,你这么写试试  
   
  do  
      yield()  
      ls_a   =   ole_1.object.input  
  loop   until   len(ls_a)   >=   1  
   
  我在做串口取数的地方,从没用过  
  do  
      yield()  
  loop   until   ole_1.object.inbuffercount>=1  
  建议你去掉,按我说的方法,再试试  
  Top

12 楼zhangdatou(猪头)回复于 2004-12-05 09:48:28 得分 10

我来学习的Top

13 楼xuweiqun(打雷啦)回复于 2004-12-05 13:32:45 得分 10

应该是协议不对,如果协议不对的话就什么也接收不到。  
  ole_1.object.handshaking   =   1     (none)  
                                                    =   2       (XON/XOFF)  
                                                    =   3       (RTS/CTS)  
                                                    =   4         (XON/XOFF   AND   RTS/CTS)Top

14 楼xuweiqun(打雷啦)回复于 2004-12-05 13:34:36 得分 10

建议接收字符在ONCOMM事件中写  
  IF   ole_1.object.commevent   =   2     then                 //  
        is_temp   =   ole_1.object.input  
        is_tempstr   =   is_tempstr+is_temp  
   
  end   ifTop

相关问题

  • 垦请高手帮助,关于串口通讯的!!
  • api 做的串口通讯程序例子给兄弟一份。
  • api 做的串口通讯程序例子给兄弟一份。
  • 串口通讯
  • 串口通讯!!!
  • 串口通讯
  • 串口通讯
  • 一个串口通讯程序接收的问题,寻求帮助!!!
  • 串口通讯?[Delphi]
  • spcomm串口通讯

关键词

  • 代码
  • 银行
  • 读卡器
  • portopen
  • 厂商
  • ole
  • ocx
  • ls
  • object

得分解答快速导航

  • 帖主:nsqsmile
  • sdycy
  • lzp_lrp
  • renwanly
  • lzp_lrp
  • progrose
  • lzp_lrp
  • zhangdatou
  • xuweiqun
  • xuweiqun

相关链接

  • PowerBuilder类图书
  • PowerBuilder类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo