基于python二次开发图莫斯工具--CAN-TP测试(多帧的发送如何用程序进行处理?)

def SendMoreMsg(self,DataId,TxData)->None:#多帧发送:10111213141516171819
    msg: str = TxData.replace("","")
    msg1: str = msg.replace(",","")

    Txlen:str = "%03X" % (int(len(msg1)/2 + 4096))#计算出需要发送数据的有效长度
    SendMsgNum = ((len(msg1)/2) -6)/7
    FF_Msg = Txlen + msg1[4:16]
    MsgForFirstData = "20,21,22,23,24,25,26,27,28,29,2A,2B,2C,2D,2E,2F"
    #WithoutFFData = TxData[16:]
    # for i in
    #WithoutFFData = WithoutFFData[]
    MSG = CAN_MSG()
    MSG.ID = DataId
    MSG.DataLen = 8
    MSG.RemoteFlag = 0
    MSG.ExternFlag = 0
    for i in range(0,8):
        MSG.Data[i] = int(FF_Msg[i*2:i*2+2],16)
    ret = CAN_SendMsg(self.DevHandle,0,byref(MSG),1)#首诊发送
    TMScandevice1.ResCanData(0,0x79C)
    if len(msg1) <= 236:
      WithoutFFData = TxData[12:]#16171819
      # print(WithoutFFData)
      for i in range(1,6):
          MsgForFirstData = MsgForFirstData.replace(",","")
          MsgForFirstData = MsgForFirstData.replace(" ","")
          # print(MsgForFirstData)
          MSG.Data[0] = int(MsgForFirstData[i*2:i*2+2],16)#连续帧帧头
          for i in range(1,8):
              MSG.Data[i] = WithoutFFData[i]
              print(MSG.Data[0:8])
          ret = CAN_SendMsg(self.DevHandle,0,byref(MSG),1)#该如何去规定我最终
          time.sleep(0.01)
          print(ret)

目前的问题就是我不知道如果利用程序的逻辑实现多帧之后的连续帧正确传入到MSG.DATA里面,有无大佬进行指教?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值