Board logo

标题: [求助]jb16 usb设备数据批量通讯 [打印本页]

作者: 流浪远方百合    时间: 2005-12-15 15:22     标题: [求助]jb16 usb设备数据批量通讯

我的usb设备和上位机联机测试,数据发送接受都是成功的,但是连续测试几百次就出现问题,设备发送的数据第一次不是8个数据,但是接着自动返回剩下的数据,(通过BUS HOUND)检测到。主机发送下次命令,bus hound检测的数据又正常。不知道是什么原因, 

设备发送的数据是键盘的输入数据,我怀疑是按键处理的问题,大家用motorola芯片做键盘的话,一般按键消抖动延时多长时间,

[此贴子已经被作者于2005-12-15 15:22:56编辑过]


作者: strongchen    时间: 2005-12-15 16:39

你可以编一段小程序,不用键盘输入,自动连续产生数据,看看问题到底是怎么产生的,是否与键盘有关。
作者: 流浪远方百合    时间: 2005-12-16 09:56

仔细想想应该不是按键的问题,我得数据发送是按键出来以后的,然后把健值按照协议组织再发送,是发送数据组织的包格式不对了,不知道什么问题,组织数据其实就是加通讯协议,在中间加了函数调用,不知是不是这个原因,在cw调用函数返回int变量的,

按照常规使用是没有问题的,就是在上位机快速连续发送接收数据时候出现问题,请教:在usb通讯时候是不是上位机的命令下位机来不及处理而引起的,接收发送数据的组织都在usb中断里面处理的,

[此贴子已经被作者于2005-12-16 9:56:36编辑过]


作者: strongchen    时间: 2005-12-16 11:31

当然有这个可能。你可以考虑应答信号的处理。
作者: 流浪远方百合    时间: 2005-12-16 16:46

嗯,就是usb处理的问题,如按照常规是不会出现问题,我们是在连续快速的情况下测试的,快速发送命令,发现是上次主机命令应答数据包返回格式出错,主机再等待几秒才能发送本次主机命令,设备正确响应,

请教斑竹,这样在中断处理的接收发送,usb的信号怎么处理吗?

[此贴子已经被作者于2005-12-16 16:46:28编辑过]


作者: seuafu2005    时间: 2005-12-19 11:10

JB16只支持低速的通讯,1。5M,再加上程序处理的时间,如果速度快的话就可能引起出错。另外,在中断中处理接受发送的程序如果太长也可能造成其他中断长时间得不到相应。
作者: 流浪远方百合    时间: 2005-12-19 17:04

谢谢!问题解决了,如果测试速度过快在组织要批量发送的数据是被usb的IN打断了,屏蔽就好啦
作者: cchen919    时间: 2006-6-12 09:59

能否传一个jb16的usb程序,参考一下。谢谢。chenchen@well-lion.com




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0