From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

NI LabVIEW,CVI,数据采集等产品讨论区

取消
显示结果 
搜索替代 
您的意思是: 

求助 labwindows 串口通过调用pcomm.dall Ymodem协议发送文件出错

已解决!
转到解答

本人想通过labwindows做一个串口调试助手,并能够通过Ymodem协议来发送文件,可是Labwindows自带库中不支持Ymodem来发送文件,所以我就调用PCOMM.dall来完成,但是发送过程老是失败,看各位大神指导一下,万分感激。

/*回调函数*/

 int CALLBACK ccb(long xmitlen,int butlen,char *buf,long flen)
{
 
   return xmitlen;
}

/************************下面程序是通过调用dall中sio_FtYmodemTx函数发送文件部分***********************************************\

 flag=sio_FtYmodemTx(com_port, pathname, ccb, 0);//pathname是一个数组 存的文件的路径名  ccb是上面定义的回调函数
   //outputqueuelen = GetOutQLen (com_port);
   if (flag >= 0)
   {
    MessagePopup ("文件传输", "文件传输完毕¡");
   } 
   else 

{

 MessagePopup ("文件传输", "文件传输失败¡");

}

 

每次都是失败  郁闷!!!
  

0 项奖励
1 条消息(共 8 条)
6,137 次查看

串口初始化及配置都成功了么?sio_open(), sio_ioctl()

0 项奖励
2 条消息(共 8 条)
6,117 次查看

串口初始化成功了的    而且该用Zmodem发送wenjian 还能成功昵

0 项奖励
3 条消息(共 8 条)
6,111 次查看

我的软件是CVI2013

0 项奖励
4 条消息(共 8 条)
6,109 次查看

程序看不出来问题,Ymodem协议需要发送每个块都要有ack,而Zmodem不需要。   你接收机那边协议时按照Ymodem协议接收的么?  或者你能调试看到你发送的每包数据么?

0 项奖励
5 条消息(共 8 条)
6,097 次查看

先谢谢 你发这么多时间帮我找我问题! 接收端我是采用超级终端来接收的!应该不会出现问题。所以很纳闷 ,会不会是他们之间的协议就不同昵。

0 项奖励
6 条消息(共 8 条)
6,095 次查看
解答
已被主题作者 w2006612 接受

这个你在找找相关资料,看看超级终端是否需要配置,或者你找别的工具做接收端,自己写个接收机也可以(工作量啊,哈哈)

0 项奖励
7 条消息(共 8 条)
6,093 次查看

好的 我再好好研究研究!

0 项奖励
8 条消息(共 8 条)
6,086 次查看