CH582使用USB和2.4RF同時(shí)使用時(shí)候存在問題

我把CH582的接收模擬成一個(gè)USB 的HID設(shè)備,當(dāng)接收到2.4G的信號(hào)后,通過USB上傳到主機(jī),現(xiàn)在在無線接收的位置將數(shù)據(jù)發(fā)送出去代碼如下,這樣USB主機(jī)無法接收到數(shù)據(jù):

? ? ? ? case RX_MODE_RX_DATA:

? ? ? ? {

? ? ? ? ? ? if(crc == 1)

? ? ? ? ? ? {

? ? ? ? ? ? ? ? PRINT("crc error\n");

? ? ? ? ? ? }

? ? ? ? ? ? else if(crc == 2)

? ? ? ? ? ? {

? ? ? ? ? ? ? ? PRINT("match type error\n");

? ? ? ? ? ? }

? ? ? ? ? ? else

? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? //DevEP2_OUT_Deal(16);//

? ? ? ? ? ? ? ? ? for (int? i = 0; i < 16; i++ )

? ? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? pEP2_IN_DataBuf[i] = rxBuf[i];

? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? ? DevEP2_IN_Deal( 16);

? ? ? ? ? ? ? ? ? GPIOB_InverseBits(GPIO_Pin_18);

然而:

修改為如下代碼片段則能夠接收到數(shù)據(jù):

? ? ? ? case RX_MODE_RX_DATA:

? ? ? ? {

? ? ? ? ? ? if(crc == 1)

? ? ? ? ? ? {

? ? ? ? ? ? ? ? PRINT("crc error\n");

? ? ? ? ? ? }

? ? ? ? ? ? else if(crc == 2)

? ? ? ? ? ? {

? ? ? ? ? ? ? ? PRINT("match type error\n");

? ? ? ? ? ? }

? ? ? ? ? ? else

? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? DevEP2_OUT_Deal(16);//

//? ? ? ? ? ? ? ? ? for (int? i = 0; i < 16; i++ )

//? ? ? ? ? ? ? ? ? {

//? ? ? ? ? ? ? ? ? ? pEP2_IN_DataBuf[i] = rxBuf[i];

//? ? ? ? ? ? ? ? ? }

//? ? ? ? ? ? ? ? ? DevEP2_IN_Deal( 16);

//? ? ? ? ? ? ? ? ? GPIOB_InverseBits(GPIO_Pin_18);


已知我的DevEP2_OUT_Deal函數(shù)如下,我感覺沒什么區(qū)別,不知道為什么不能接收?

void DevEP2_OUT_Deal( UINT8 l )

{ /* 用戶可自定義 */

? UINT8 i;


? for ( i = 0; i < l; i++ )

? {

? ? pEP2_IN_DataBuf[i] = 0x05;//pEP2_OUT_DataBuf[i]+1;

? }

? DevEP2_IN_Deal( l );

}


image.png
第一個(gè)監(jiān)控下,有沒有進(jìn)入這個(gè)判斷。

其實(shí)理論上不建議這樣操作,建議操作是保留原來的PHY的CB函數(shù)不變,收到RX的數(shù)據(jù)后,置標(biāo)志位,另開任務(wù)啟動(dòng)USB——IN上傳的動(dòng)作。


moundriver不知道怎么調(diào)試,但是是進(jìn)入了的,因?yàn)槊黠@LED閃爍很快,表明有數(shù)據(jù)接收。 另外我感覺就是把USB的發(fā)送函數(shù)拷貝過來了,為啥效果會(huì)不一樣?如何可行我把對(duì)應(yīng)的工程文件給一份,幫我看看哈


另外感覺ch582太好用了,短短幾條語句就能實(shí)現(xiàn)USB和RF等功能,就是文檔太少,建議各位大佬加大力度完善文檔。謝謝


你的兩種方式其實(shí)還是有區(qū)別的,一種是賦值緩沖區(qū)的值,一種是直接賦值,這邊建議你在我們最初的工程的基礎(chǔ)上,確保2.4g接收到打印出來,再去使用usb發(fā)送。


樓主后面成功了嗎?兩個(gè)設(shè)備互相通訊是不是使用同一個(gè)例程就可以互相收發(fā)了,是否需要修改程序?


我也遇到這樣的問題不知道怎么處理呀


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

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