搜索
bottom↓
回复: 18

十万火急!

[复制链接]

出0入0汤圆

发表于 2009-11-17 16:51:15 | 显示全部楼层 |阅读模式
发送协议,大循环套小循环:66 7E 66 7E 66 7E 66 7E.... 67 6A 6C 67-->66 7E 66 7E 66 7E 66 7E ....67 6A 6C 67-->66 7E 66 7E 66 7E 66 7E ......67 6A 6C 67-->66 7E 66 7E 66 7E 66 7E .....67 6A 6C 67 67 7E(大循环完成最后是67 7E)
1、举例,发送66的协议是:
                    ReDim buff_out6(8)
                    Dim buff_out6() As Byte
                    buff_out6(0) = &HAA
                    buff_out6(1) = &HAA
                    buff_out6(2) = &HFF
                    buff_out6(3) = &H5
                    buff_out6(4) = &H66
                    buff_out6(5) = &H0
                    buff_out6(6) = &H0
                    buff_out6(7) = &H0
                    buff_out6(8) = &HFF
                    MSComm1.Output = buff_out6

    其他的诸如7E、6A等等都是一样的。
2、举例:调用Text设定的时间
              If Dir("15.txt") <> "" Then
                   Dim Temp15 As String
                   Open App.Path & "\15.txt" For Input As #15
                   Line Input #15, Temp15
                   Close #15
               End If


以上的发送的协议在一个command7(开始为“开”状态,点击“开”就执行,此时显示“关”状态,手动点击“关”或者大循环时间到,再发送个67与7E,回到“开”状态),程序示意如下:
Private Sub Command7_Click()
                If Shape5.BackColor = &HFF Then
                    Shape5.BackColor = &H80FF80
                    Command7.Caption = "关"  '实际上command7的状态是开启,只是显示可以关闭
                    .....'大循环
                Else
                    Shape5.BackColor = &HFF
                    Command7.Caption = "开"'实际上command7的状态是关闭,只是显示可以开启
                    .....'67、7E
                End If
End Sub

问题就是怎么实现上面所述的协议的循环发送以及调用设定的时间(就是每个协议的工作时间以及大小循环的时间都能调用设定的时间)

(原文件名:未命名.JPG)


(原文件名:未命名.JPG)

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2009-11-17 16:53:23 | 显示全部楼层
你的问题是什么?

出0入0汤圆

 楼主| 发表于 2009-11-17 17:48:15 | 显示全部楼层
问题就是怎么实现上面所述的协议的循环发送以及调用设定的时间(就是每个协议的工作时间以及大小循环的时间都能调用设定的时间) ,如图。弄了好久没有实,郁闷啊!

出0入0汤圆

 楼主| 发表于 2009-11-18 07:25:11 | 显示全部楼层
急啊 呵呵

出0入0汤圆

发表于 2009-11-18 09:22:57 | 显示全部楼层
晕了,先画个流程图吧

出0入0汤圆

 楼主| 发表于 2009-11-18 19:54:04 | 显示全部楼层

(原文件名:2.JPG)
这是发送的协议流程图

出0入0汤圆

发表于 2009-11-18 20:42:26 | 显示全部楼层
VB?

出0入0汤圆

 楼主| 发表于 2009-11-19 08:44:56 | 显示全部楼层
是啊 VB做

出0入0汤圆

 楼主| 发表于 2009-11-19 09:23:41 | 显示全部楼层
这样只能一个一个的发送上面的协议,小循环大循环都执行不了,而且发送时间也不能修改:

Option Explicit
    Dim buff_out6() As Byte
Private Sub Form_Load()
    Timer1.Interval = 1000
    MSComm1.PortOpen = True
End Sub

Private Sub Timer1_Timer()
    Static xunhuan As Long
    ReDim buff_out6(8)
    buff_out6(0) = &HAA
    buff_out6(1) = &HAA
    buff_out6(2) = &HFF
    buff_out6(3) = &H5
    buff_out6(5) = &H0
    buff_out6(6) = &H0
    buff_out6(7) = &H0
    buff_out6(8) = &HFF
    xunhuan = xunhuan + 1
    If xunhuan = 1 Then
        buff_out6(4) = &H66
    ElseIf xunhuan = 2 Then
        buff_out6(4) = &H7E
    ElseIf xunhuan = 3 Then
        buff_out6(4) = &H67
    ElseIf xunhuan = 4 Then
        buff_out6(4) = &H6A
    ElseIf xunhuan = 5 Then
        buff_out6(4) = &H6C
    End If
    If xunhuan Mod 5 = 0 Then xunhuan = 0
    MSComm1.Output = buff_out6
End Sub

出0入0汤圆

 楼主| 发表于 2009-11-19 10:35:01 | 显示全部楼层
不知道怎么回事 弄不出来

出0入0汤圆

 楼主| 发表于 2009-11-19 14:58:05 | 显示全部楼层
还望详解啊

出0入0汤圆

 楼主| 发表于 2009-11-19 15:45:56 | 显示全部楼层
盼高手啊

出0入0汤圆

 楼主| 发表于 2009-11-19 16:23:34 | 显示全部楼层
顶啦

出0入0汤圆

 楼主| 发表于 2009-11-19 21:10:14 | 显示全部楼层
Private Sub Command7_Click()

Dim arrsource() As String
arrsource = Split("66,7E,66,7E,66,7E,66,7E,67,6A,6C,67", ",")

Dim i As Long
For i = 0 To UBound(arrsource)
    SendData ("&H" & arrsource(i))
Next

End Sub

Private Sub SendData(ByVal vData As Byte)
    Dim buff_out6(8) As Byte
    buff_out6(0) = &HAA
    buff_out6(1) = &HAA
    buff_out6(2) = &HFF
    buff_out6(3) = &H5
    buff_out6(4) = vData
    buff_out6(5) = &H0
    buff_out6(6) = &H0
    buff_out6(7) = &H0
    buff_out6(8) = &HFF
    MSComm1.Output = buff_out6
End Sub

思路 :但是现在大小循环还没有真正循环起来 LS的只是发送数组里的66,7E,66,7E,66,7E,66,7E,67,6A,6C,67", ","
我是想:
大循环套小循环:66 7E 66 7E 66 7E 66 7E......(小循环)67 6A 6C 67----(大循环)-----
              66 7E 66 7E 66 7E 66 7E ......(小循环)67 6A 6C 67---大循环)----              66 7E 66 7E 66 7E 66 7E ......(小循环)67 6A 6C 67----(大循环)-----              66 7E 66 7E 66 7E 66 7E ......(小循环)67 6A 6C 67 67 7E(大循环完成最后是67 7E)

出0入0汤圆

 楼主| 发表于 2009-11-26 19:59:13 | 显示全部楼层
上传个例子,一模一样的 就是实现不出来 这是人家给编写的 没有给我源代码。也联系不上他了!不过还是非常感谢他!
ourdev_507814.rar(文件大小:154K) (原文件名:test.rar)

出0入0汤圆

 楼主| 发表于 2009-11-27 08:16:54 | 显示全部楼层
我发了LS的附件

出0入0汤圆

发表于 2009-11-28 00:39:40 | 显示全部楼层
看不明白LZ要做什么,是一是你的需求可以再优化点呢?

路并不一定这样走,换个思路也许就海阔天空了.

出0入0汤圆

发表于 2009-11-28 21:51:36 | 显示全部楼层
不知道解决没有
用delphi倒是可以实现

出0入0汤圆

 楼主| 发表于 2009-11-30 08:51:26 | 显示全部楼层
恩 已经解决了 多谢
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-20 11:20

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表