From b55d450a81fe188f2a62b20da81b837cbcb0f447 Mon Sep 17 00:00:00 2001 From: sunbeam Date: Wed, 6 Jul 2022 11:01:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0usbcan=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/usb2canfd.aardio | 42 ++++++++++++++++++++++++++---------------- 1 file changed, 26 insertions(+), 16 deletions(-) diff --git a/lib/usb2canfd.aardio b/lib/usb2canfd.aardio index dadd603..cf82832 100644 --- a/lib/usb2canfd.aardio +++ b/lib/usb2canfd.aardio @@ -192,12 +192,13 @@ namespace usb2canfd{ } //打开设备,包括初始化通道 - OpenDevice = function(index,channel,canfd = true){ + OpenDevice = function(index,channel,canfd){ if(index > HwNum) { //如果序号大于最大硬件数 return 0; } var ret = DllHandle.USB_OpenDevice(AvailableHW[index].hLINHW) + canfd = true; if(canfd == true){ canconfig = ..usb2canfd.CANFD_INIT_CONFIG(); @@ -217,7 +218,7 @@ namespace usb2canfd{ canconfig.DBT_SEG2 = 10; canconfig.DBT_SJW = 2; - ret = DllHandle.CANFD_Init(AvailableHW[index].hLINHW,channel,canconfig); + ret = DllHandle.CANFD_Init(AvailableHW[index].hLINHW,channel,canconfig); } else { canconfig = ..usb2canfd.CAN_INIT_CONFIG(); @@ -233,13 +234,14 @@ namespace usb2canfd{ canconfig.CAN_BS1 = 2; canconfig.CAN_BS2 = 1; canconfig.CAN_SJW = 1; - ret = DllHandle.CAN_Init(AvailableHW[index].hLINHW,channel,canconfig); + ret = DllHandle.CAN_Init(AvailableHW[index].hLINHW,channel,canconfig); } - canfd_connected = + canfd_connected = canfd; if(ret == 0){//调用成功 Hwconnected = AvailableHW[index].hLINHW; Chconntected = channel; + } else { Hwconnected = null @@ -280,7 +282,8 @@ namespace usb2canfd{ if(#data == 0 || #data>8){//长度不对 return 0; } - if(canfd_connect == true){ + //console.log("发送报文") + if(canfd_connected == true){ var msg = ..usb2canfd.CANFD_MSG(); msg.Flags = 0; if(id <= 0x7ff){ @@ -307,18 +310,25 @@ namespace usb2canfd{ GetMsg = function(){ var ret = 0; var retdata = {}; - do{ - var msgbuf = ..usb2canfd.CANFD_MSG(); - ret = DllHandle.CANFD_GetMsg(Hwconnected,CANIndex,msgbuf,1); - if(ret == 1){ - var data = {}; - for(i=1;msgbuf.DLC;1){ - data[i] = msgbuf.Data[i]; + if(canfd_connected == true){ + //CANFD + do{ + var msgbuf = ..usb2canfd.CANFD_MSG(); + ret = DllHandle.CANFD_GetMsg(Hwconnected,CANIndex,msgbuf,1); + if(ret == 1){ + var data = {}; + for(i=1;msgbuf.DLC;1){ + data[i] = msgbuf.Data[i]; + } + var msg = {"id"=msgbuf.ID;"data"=data;};// + ..table.push(retdata,msg); } - var msg = {"id"=msgbuf.ID;"data"=data;};// - ..table.push(retdata,msg); - } - }while(ret > 0) + }while(ret > 0) + } + else { + //CAN + } + return retdata; }