求助:Lonworks网卡的直接操纵 点击:915 | 回复:1



东青

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:11帖 | 25回
  • 年度积分:0
  • 历史总积分:58
  • 注册:2002年6月27日
发表于:2003-01-01 10:20:00
楼主
各位前辈: 本人已经使用WIN98中的 CreateFile() 和 DeviceIoControl() 函数打开了 Lonworks 网络接口卡(PCLTA10)。 当我向其发送RESET命令时,可以成功。但本人想发出广播消息,发给网络中的 节点。(如果不行,请指出,如果可以,请看下面的代码)下面是本人的代码片段, 能帮我看看吗? ni_msg->NiCmd =0x12; // ni_comm,using transaction queue. ni_msg->Length = 16; //between 0 to 15 //MsgHdr ni_msg->ExpAppBuffer[0] = 0x14;//message tag is zero,no auth,Unack,explicit message ni_msg->ExpAppBuffer[1] = 0x1a; ni_msg->ExpAppBuffer[2] = 0x01; //msg length 1 //ExplicitAddr ni_msg->ExpAppBuffer[3] = 3;//broadcast ni_msg->ExpAppBuffer[4] = 0x00; ni_msg->ExpAppBuffer[5] = 0x31; ni_msg->ExpAppBuffer[6] = 0x03; ni_msg->ExpAppBuffer[7] = 0x00; //subnet zero. ni_msg->ExpAppBuffer[8] = 0x00; ni_msg->ExpAppBuffer[9] = 0x00; ni_msg->ExpAppBuffer[10] = 0x00; ni_msg->ExpAppBuffer[11] = 0x00; ni_msg->ExpAppBuffer[12] = 0x00; ni_msg->ExpAppBuffer[13] = 0x00; ni_msg->ExpAppBuffer[14] = 0x01; //msg code ni_msg->ExpAppBuffer[15] = 0x01;//msg data msg_len = 18; // Call function and write to a device rc = ldv_write( *handle, (pVoid)ni_msg, msg_len ); //这里rc的返回值为零,说明写成功。 多谢 (2002圣诞夜)



东青

  • 精华:0帖
  • 求助:0帖
  • 帖子:11帖 | 25回
  • 年度积分:0
  • 历史总积分:58
  • 注册:2002年6月27日
发表于:2003-01-01 10:20:00
1楼
各位: 问题已解决!解决这个问题的关键是协议分析仪。 还有值得注意的是您使用的是NSI还是VNI, 本人使用的是VNI,下面是范例代码: ni_msg->NiCmd =0x12; // ni_msg->Length = 17; // //MsgHdr ni_msg->ExpAppBuffer[0] = 0x08; ni_msg->ExpAppBuffer[1] = 0x01; ni_msg->ExpAppBuffer[2] = 0x12; ni_msg->ExpAppBuffer[3] = 5; ni_msg->ExpAppBuffer[4] = 0x00; // ni_msg->ExpAppBuffer[5] = 0x01; ni_msg->ExpAppBuffer[6] = 0x10; ni_msg->ExpAppBuffer[7] = 0x02; //msg code ni_msg->ExpAppBuffer[8] = 0x08;//msg data ni_msg->ExpAppBuffer[9] = 0x02; ni_msg->ExpAppBuffer[10] = 0x03; ni_msg->ExpAppBuffer[11] = 0x04; ni_msg->ExpAppBuffer[12] = 0x05; ni_msg->ExpAppBuffer[13] = 0x06; ni_msg->ExpAppBuffer[14] = 0x07; ni_msg->ExpAppBuffer[15] = 0x08; ni_msg->ExpAppBuffer[16] = 0x08;//msg data msg_len = 19; // total length of ni rc = ldv_write( *handle, (pVoid)ni_msg, msg_len ); 那么,新的问题提出:如何使用该卡接收消息?

热门招聘
相关主题

官方公众号

智造工程师