用labview做的ZLGusbcan的驱动,生成可执行文件后为什么总是不能正常驱动设备?

2019-07-17 21:09发布

labview做的ZLGusbcan的驱动,生成可执行文件后为什么总是不能正常驱动设备?
856565.png
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
17条回答
njrzkj
1楼-- · 2019-07-19 14:35
 精彩回答 2  元偷偷看……
草莓大宝草莓小宝
2楼-- · 2019-07-19 20:21
njrzkj 发表于 2016-11-17 15:20
把ID的那个数组放到for循环之外,从外面引进来才是按照数组的索引一个一个来,放到循环里面时,你只能看到你设置的循环次数的那个id被发送了。for循环除了起到循环作用之外还有自动索引数组的功能,你把数组放在循环里它就索引不了数组了。 ...

把数组放到了for循环外边还是不行,不开usbcan的时候发送就显示两次发送失败,吧usbcan打开之后,还是等这个循环结束之后连续向第二个id号中发送两次数据,这是哪里的问题呀?
QQ截图20161118095040.png
草莓大宝草莓小宝
3楼-- · 2019-07-20 01:59
njrzkj 发表于 2016-11-17 15:20
把ID的那个数组放到for循环之外,从外面引进来才是按照数组的索引一个一个来,放到循环里面时,你只能看到你设置的循环次数的那个id被发送了。for循环除了起到循环作用之外还有自动索引数组的功能,你把数组放在循环里它就索引不了数组了。 ...

是这样,这个驱动总体是有三个while循环所构成的,一个是主循环,一个是接收函数循环,一个是发送函数循环,数据输入和ID输入都是在主循环里,这三个循环是通过产生用户事件联系起来的,我又试了一下,每次都是主while循环中的某一个事件全部运行结束后,才能运行接收或者发送循环,也就是说,只有这个for循环全部循环完毕,才能调用发送函数,执行次数虽然在运行过程中是值变化的也不能执行发送函数。之后这for循环循环完才能执行发送函数。是不是因为产生用户事件的问题?我是想不明白了,脑细胞都快死光了,也没有解决了。呜呜
QQ截图20161118105929.png
QQ截图20161118105920.png
草莓大宝草莓小宝
4楼-- · 2019-07-20 03:03
njrzkj 发表于 2016-11-17 15:20
把ID的那个数组放到for循环之外,从外面引进来才是按照数组的索引一个一个来,放到循环里面时,你只能看到你设置的循环次数的那个id被发送了。for循环除了起到循环作用之外还有自动索引数组的功能,你把数组放在循环里它就索引不了数组了。 ...

我有新开了一个帖子,您也可以去那里指导我,在这里也行
njrzkj
5楼-- · 2019-07-20 03:10
草莓大宝草莓小宝 发表于 2016-11-18 09:54
把数组放到了for循环外边还是不行,不开usbcan的时候发送就显示两次发送失败,吧usbcan打开之后,还是等这个循环结束之后连续向第二个id号中发送两次数据,这是哪里的问题呀?

估计是因为你用的这个“执行次数”来触发事件结构的问题。执行次数虽然每循环一次都会变一次,但是这个值信号的属性节点要输出的时候只有等for循环结束了才会有值输出。你要么把那个“执行次数”值改变这个事件里的程序都放到这个for循环中来吧。要么就直接把这个ID数组放到发送报文的地方,在那里用for循环来控制发送。另外记住不管是for循环还是while循环,如果要将循环里的值在循环外面引用的话,这个值只有当循环结束了才会输出,也就是你只能看到是最后一个值。

一周热门 更多>