關(guān)于CH375計(jì)算機(jī)端軟件問題

我使用CH375,計(jì)算機(jī)和USB接口通訊很正常,用了好長(zhǎng)一段時(shí)間了,今天我發(fā)現(xiàn)我的軟件有一個(gè)問題,那就是界面不能輸入漢字,一切換到漢字輸入狀態(tài)程序就死機(jī),我是在中斷例程中用CH375ReadData這個(gè)函數(shù)的讀數(shù)據(jù)的,如果不執(zhí)行CH375ReadData,就沒問題。請(qǐng)問為什么?是不是這個(gè)函數(shù)和漢字輸入有什么關(guān)系?我用的是CVI8.5,下面是我的程序代碼:

if(!CH375SetIntRoutine(0, ReadUsb )) { MessagePopup("程序錯(cuò)誤","USB Open 失??!"); UsbOpen=0; exit(0); } else UsbOpen=1;

VOID CALLBACK ReadUsb(PUCHAR iBuffer) { unsigned long mReadLen; char RBuffer[512];

if(UsbOpen==0) return; if( CH375ReadData( 0,RBuffer, &mReadLen ) )// 接收成功 { ...... }

} 請(qǐng)快回復(fù)我,謝謝。


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

中斷回調(diào)函數(shù)里不要這樣處理,在ReadUsb里發(fā)送一個(gè)消息,在消息里做CH375ReadData的處理,ReadUsb函數(shù)是在我們的動(dòng)態(tài)庫里的系統(tǒng)線程執(zhí)行的,優(yōu)先級(jí)比較高,不要做費(fèi)時(shí)操作,你用c語言可以使用多線程+查詢的方式.


按照你說的: 《在ReadUsb里發(fā)送一個(gè)消息,在消息里做CH375ReadData的處理》 程序如下: VOID CALLBACK IntReadUsb(PUCHAR iBuffer) { PostMessage((HWND)postHandle,LQS_USBREAD_Message,0,0); }

int CVICALLBACK ReadUsb(int panelHandle, int message, unsigned int* wParam, unsigned int* lParam, void* callbackData) { if(CH375ReadData( 0,RBuffer, &mReadLen ) ){// 接收成功 ............ } } 執(zhí)行的結(jié)果是,讀數(shù)據(jù)沒問題,但界面幾乎不能動(dòng),比在中斷里讀更差。好像CH375ReadData用時(shí)很多,為什么? 麻煩你給我看看是什么問題,謝謝! 我忘記說了,單片機(jī)那邊是20ms發(fā)送一次數(shù)據(jù),16個(gè)字節(jié)。

在單片機(jī)里:

if( (Time10ms%2)==0 ) {//20ms 發(fā)送一次,每秒50組數(shù)據(jù),1000s/20ms=50 CH375_WR_CMD_PORT( CMD_WR_USB_DATA5 );//發(fā)送中斷數(shù)據(jù) CH375_WR_DAT_PORT(0); }

USB中斷程序:

void Int1_ISR(void)interrupt 2 { unsigned char InterruptStatus;

CH375_WR_CMD_PORT( CMD_GET_STATUS ); /* 獲取中斷狀態(tài)并取消中斷請(qǐng) */ InterruptStatus = CH375_RD_DAT_PORT( ); /* 獲取中斷狀態(tài) */ switch ( InterruptStatus )/* 分析中斷狀態(tài)處理 */ { case USB_INT_EP2_OUT:/* 批量端點(diǎn)下傳成功 */ Read_USB_Data();// 從計(jì)算機(jī)上讀數(shù)據(jù) break; case USB_INT_EP2_IN: /* 批量數(shù)據(jù)發(fā)送成功 */ CH375_WR_CMD_PORT( CMD_UNLOCK_USB ); break; case USB_INT_EP1_IN:/*中斷數(shù)據(jù)發(fā)送成功*/ CH375_WR_CMD_PORT( CMD_UNLOCK_USB ); FaSongData();//發(fā)送數(shù)據(jù)到計(jì)算機(jī) break; case USB_INT_EP1_OUT: CH375_WR_CMD_PORT( CMD_UNLOCK_USB ); break; default: CH375_WR_CMD_PO(CMD_UNLOCK_USB ); break; } }


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

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