請(qǐng)看我下面的程序,問(wèn)題出在哪里,當(dāng)mLength>21就會(huì)提示發(fā)送出錯(cuò),小于21就沒(méi)問(wèn)題,單片機(jī)能正常接收,反回接收完成狀態(tài)也正常,我用你們帶的DEBUG程序發(fā)送64字節(jié)的數(shù)據(jù)包單片機(jī)處接收返回都正常,說(shuō)明單片機(jī)處應(yīng)該是正常的吧,可是VB處就這么簡(jiǎn)單的發(fā)送問(wèn)題會(huì)出在哪呢,為什么字節(jié)數(shù)大于21就會(huì)發(fā)送出錯(cuò)呢?請(qǐng)hcn大哥幫忙解決一下?。? PC處是用VB寫(xiě)的: Private Sub Command1_Click() Dim mLength As Long Dim mWriteBuf As mBuf mLength = 22 If CH375Writedata(0, mWriteBuf, mLength) Then Text8.Text = Text8.Text + "***數(shù)據(jù)發(fā)送成功!***" + Chr(13) + Chr(10) Else MsgBox "CH375WriteData 失敗!", vbCritical, "信息提示" End If End Sub 單片機(jī)處的程序: 其它略 else {/*約定如果不是長(zhǎng)度為1的命令包也不是長(zhǎng)度為0的空包即為數(shù)據(jù)包*/ for ( i=0; iCH375_CMD_PORT = CMD_WR_USB_DATA5;/*使用端點(diǎn)1上傳命令*/ CH375_DAT_PORT = CONST_CMD_LEN; /*發(fā)送命令長(zhǎng)度*/ CH375_DAT_PORT = DEF_FLAG_DataReceive_OK; /*發(fā)送數(shù)據(jù)包接收完成標(biāo)志*/ }
怎么一出現(xiàn)[ i ]就不見(jiàn)了,還把后面的字變成斜體了
你 mBuf定義多大緩沖區(qū)?
跟文本編輯文式有關(guān),默認(rèn)在“[“ 加 ”i“后為斜體顯示
Buf定義為4099的緩沖區(qū),應(yīng)該足夠大了吧,是按BLUK程序里一樣的。
各位老大能不能快點(diǎn)幫忙解決一下這個(gè)問(wèn)題啊,時(shí)間緊迫啊!
CH375Writedata()說(shuō)白了就三參,第一個(gè)設(shè)備序號(hào)沒(méi)問(wèn)題,第二個(gè)緩沖區(qū),只要定義成字節(jié)方式,長(zhǎng)度就是你要寫(xiě)入的長(zhǎng)度.你所說(shuō)的大于21就會(huì)出問(wèn)題,這是由于你程序所導(dǎo)致的.方便的話把你的上下位機(jī)程序發(fā)到我們郵箱,幫你看看.
問(wèn)題已解決了,不是程序問(wèn)題是硬件問(wèn)題,我懷疑是晶振的問(wèn)題,開(kāi)始我用的是陶瓷晶振后來(lái)改用鐵殼的就好了。