讀寫緩沖區(qū)問題

請(qǐng)教:

1. CH375的讀寫緩沖區(qū)是在單片機(jī)內(nèi)定義還是在USB芯片內(nèi)部? 2. 為何讀寫數(shù)據(jù)時(shí),數(shù)據(jù)會(huì)丟失?


熱門產(chǎn)品 : USB3.0 HUB控制器:CH634

詳細(xì)的描述一下你使用的方法,數(shù)據(jù)丟失的現(xiàn)象.


謝謝,數(shù)據(jù)丟失解決了,可是收到得數(shù)據(jù)不正確,我的程序是收到得數(shù)據(jù)就是發(fā)送的數(shù)據(jù),主要程序如下: /***************************************************************************** 對(duì)CH375的中斷進(jìn)行處理 ********************************************************************************/ void DoInt375() { UCHAR sta; UCHAR i; UCHAR length; UCHAR data buffer[4]; sta=Get_Staut(); switch(sta) { case 0x02: { SendCommand375(R_USB_DATA); //寫讀端點(diǎn)2數(shù)據(jù)的命令 length=ReadData375( ); for(i=0;i buffer[i]=ReadData375( ); // SendCommand375(W_USB_DATA7); WriteData375(length); for(i=0;i WriteData375(buffer[i]); break; } case 0x0A: //批量端點(diǎn)/端點(diǎn)2發(fā)送完數(shù)據(jù),IN表示事務(wù)成功 { SendCommand375(ULK_USB); //釋放當(dāng)前USB緩沖區(qū) break; } default: { /* 其它中斷,未用到,解鎖后退出即可 */ SendCommand375(ULK_USB); /* 釋放當(dāng)前USB緩沖區(qū) */ break; }

}

}

例如: 發(fā)送:01 12 22 56 收到:02 02 02 02ReadData375( );

無論發(fā)送什么字節(jié)收到的都是02,當(dāng)buffer[]的每個(gè)元素賦值時(shí)是正確的,即:將 for(i=0;ibuffer[i]=ReadData375( ); 改為: buffer[0]=ReadData375( ); buffer[1]=ReadData375( );...... 得到結(jié)果是正確的 請(qǐng)問這是什么原因?


buffer是一個(gè)數(shù)組首地址,“buffer=ReadData375( )”怎么可以向一個(gè)地址賦值呢!


不好意思剛才帖的時(shí)候我漏掉了,我用的是buffer[i]=ReadData375( );不知道為什么得到的數(shù)據(jù)不正確,請(qǐng)?jiān)趲兔纯?/p>


當(dāng)然得不到數(shù)據(jù),前貼不是解釋了么! buffer是一個(gè)地址,而ReadData375( )的返回值是一個(gè)數(shù)據(jù),這個(gè)數(shù)據(jù)不可以賦給buffer呢


c語言錯(cuò)誤修改為*buffer++=ReadData375( );


謝謝各位,改成指針的可以了,但是我的buffer[]=ReadData375( ); []里有個(gè)i的,一提交就看不到了,為什么我的那種方式就不可以呢?


前面已經(jīng)解釋了阿,建議找一些C語言關(guān)于指針方面的資料吧


只有登錄才能回復(fù),可以選擇微信賬號(hào)登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频