请看我下面的程序,问题出在哪里,当mLength>21就会提示发送出错,小于21就没问题,单片机能正常接收,反回接收完成状态也正常,我用你们带的DEBUG程序发送64字节的数据包单片机处接收返回都正常,说明单片机处应该是正常的吧,可是VB处就这么简单的发送问题会出在哪呢,为什么字节数大于21就会发送出错呢?请hcn大哥帮忙解决一下啊! PC处是用VB写的: Private Sub Command1_Click() Dim mLength As Long Dim mWriteBuf As mBuf mLength = 22 If CH375Writedata(0, mWriteBuf, mLength) Then Text8.Text = Text8.Text + "***数据发送成功!***" + Chr(13) + Chr(10) Else MsgBox "CH375WriteData 失败!", vbCritical, "信息提示" End If End Sub 单片机处的程序: 其它略 else {/*约定如果不是长度为1的命令包也不是长度为0的空包即为数据包*/ for ( i=0; iCH375_CMD_PORT = CMD_WR_USB_DATA5;/*使用端点1上传命令*/ CH375_DAT_PORT = CONST_CMD_LEN; /*发送命令长度*/ CH375_DAT_PORT = DEF_FLAG_DataReceive_OK; /*发送数据包接收完成标志*/ }
查看: 3583
回复: 7
又遇到一个奇怪的问题!
USB_writer
发表于: 2006-06-10 08:49:00
热门产品 :
CH182: 以太网PHY收发器芯片
USB_writer
发表于: 2006-06-11 20:51:00
怎么一出现[ i ]就不见了,还把后面的字变成斜体了
你 mBuf定义多大缓冲区?
跟文本编辑文式有关,默认在“[“ 加 ”i“后为斜体显示
USB_writer
发表于: 2006-06-12 09:49:00
Buf定义为4099的缓冲区,应该足够大了吧,是按BLUK程序里一样的。
USB_writer
发表于: 2006-06-12 11:31:00
各位老大能不能快点帮忙解决一下这个问题啊,时间紧迫啊!
CH375Writedata()说白了就三参,第一个设备序号没问题,第二个缓冲区,只要定义成字节方式,长度就是你要写入的长度.你所说的大于21就会出问题,这是由于你程序所导致的.方便的话把你的上下位机程序发到我们邮箱,帮你看看.
USB_writer
发表于: 2006-06-13 19:21:00
问题已解决了,不是程序问题是硬件问题,我怀疑是晶振的问题,开始我用的是陶瓷晶振后来改用铁壳的就好了。
请勿发布广告和违法内容, 代码可以选择编辑器代码语言格式, 更易他人阅读帮助您, 或者留下联系方式,以便更好更快服务您
只有登录才能回复,可以选择微信账号登录