adam4017-4520问题。如何清除缓存 点击:798 | 回复:5



老朱

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 23回
  • 年度积分:0
  • 历史总积分:94
  • 注册:2003年8月14日
发表于:2004-01-09 13:03:00
楼主
我的问题是这样的:adam4017和4520是我用来作试验的,它们和7017等兼容。 adam4017-4520-PC 现在我只有一个4017接到4520的2通道上。设地址为2。 我对发#010\r,一直到#080\r (#AAN:AA是地址,N是通道号) 在发#010\r时,不应该有诸如>+0.0003这样的结果返回,因为地址01没有4017,而唯一的一个4017模块被设置成地址为02。所以,当发#020时,应该得到>+0.0003这样的返回数据。 但我接着发#030时,就不该得到数据了对不对? 但是我却百思不得其解的是,我居然一直得到>+0.0003 我的想法是,我该设法清除缓存里的遗留数据,该如何作? 谢谢!



GaryLin

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 1186回
  • 年度积分:0
  • 历史总积分:1263
  • 注册:2003年4月15日
发表于:2004-01-09 12:28:00
1楼
COM port buffer 一般是不用清除的, read operation 会将 data 从 buffer 中移除. 您可查看看您用的软件是否有啥特别的设定!

GaryLin

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 1186回
  • 年度积分:0
  • 历史总积分:1263
  • 注册:2003年4月15日
发表于:2004-01-09 13:03:00
2楼
若您是自行写程序, 请再 read 之前将 software buffer 清空. A = spaces. Read data into A.

关东大侠

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 19回
  • 年度积分:0
  • 历史总积分:131
  • 注册:2004年1月19日
发表于:2004-05-28 09:37:00
3楼
Private Sub Command1_Click() MSComm1.Output = "#0F0\r" & vbCr End Sub Private Sub Command2_Click() MSComm1.PortOpen = False End Sub Private Sub Form_Load() MSComm1.CommPort = 1 MSComm1.Settings = "9600,n,8,1" MSComm1.PortOpen = True End Sub Private Sub MSComm1_OnComm() Text1.Text = MSComm1.Input End Sub 请教哪有错误吗?为什么采集不上来数据?

GaryLin

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 1186回
  • 年度积分:0
  • 历史总积分:1263
  • 注册:2003年4月15日
发表于:2004-05-28 11:55:00
4楼
很奇怪的 command, C 与 VB 混用? MSComm1.Output = "#0F0\r" & vbCr 十六进制: 23, 30, 46, 30, 5C, 72, 0D 您忘了将 \r 拿掉了吧! MSComm1.Output = "#0F0" & vbCr 十六进制: 23, 30, 46, 30, 0D

关东大侠

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 19回
  • 年度积分:0
  • 历史总积分:131
  • 注册:2004年1月19日
发表于:2004-05-31 10:58:00
5楼
拿掉\r就好了,谢谢

热门招聘
相关主题

官方公众号

智造工程师