如果沒有涉及到中斷端點的上傳和批量端點首先上傳,那請問到哪里可以找到相應(yīng)的示例程序? MCS51C\MCU 中的 CH372DBG.C 程序我也看過了,也沒有找到中斷端點的上傳和批量端點首先上傳的操作程序,只是比 test.C 程序多了 存儲器和SFR讀寫 和 獲取調(diào)試固件程序的版本 的中斷處理程序. 請問 mSportinterupt(void ) 程序段,是對端點2或端點1進行的操作嗎?如果是的話,那么其中的 SBUF,RI,TI, 分別是在哪里定義的?我沒有找到相應(yīng)的定義和聲明?
請問"中斷端點的上傳和批量端點上傳"的操作應(yīng)該如何進行? 可否給一個示例程序我參考一下? 謝謝!
你可以到這里去下載例子程序: http://www.findthetime.net/bbs/View.asp?S=101&I=19463
參考程序我看了,有兩個問題需要請教一下: (1)向PC機發(fā)起數(shù)據(jù)上傳的TEST程序 200762912463276.rar 數(shù)據(jù)包中 TEST.C 源程序,其中的中斷子程序 mCh375Interrupt( ) 在分析中斷狀態(tài)并取消中斷請求時,命令語句為: InterruptStatus = CH375_RD_DAT_PORT( ); /* 獲取中斷狀態(tài) */ switch ( InterruptStatus ) { /* 分析中斷狀態(tài)處理 */ case USB_INT_EP2_OUT: { /* 批量端點下傳成功 */ 。。。。。。。。。。。。。 CH375_WR_CMD_PORT( CMD_WR_USB_DATA5 ); /* 從當(dāng)前USB中斷的端點緩沖區(qū)讀取數(shù)據(jù)塊,并釋放緩沖區(qū) */ 。。。。。。。。。。。。。 } 而 PUB\TEST\MCU 文件夾中的 TEST.C 源程序?qū)υ摱蔚拿钫Z句為: InterruptStatus = CH375_RD_DAT_PORT( ); /* 獲取中斷狀態(tài) */ switch ( InterruptStatus ) { /* 分析中斷狀態(tài)處理 */ case USB_INT_EP2_OUT: { /* 批量端點下傳成功 */ 。。。。。。。。。。。。。 CH375_WR_CMD_PORT( CMD_WR_USB_DATA7 ); /* 從當(dāng)前USB中斷的端點緩沖區(qū)讀取數(shù)據(jù)塊,并釋放緩沖區(qū) */ 。。。。。。。。。。。。。 } 即將 CH375_WR_CMD_PORT( CMD_WR_USB_DATA5 )改為了 CH375_WR_CMD_PORT( CMD_WR_USB_DATA7 ),我個人認(rèn)為,既然判斷的狀態(tài)是 USB_INT_EP2_OUT(USB端點2的OUT),就應(yīng)該使用 CMD_WR_USB_DATA7(向USB端點2或者主機端點的發(fā)送緩沖區(qū)寫入數(shù)據(jù)塊),對端點2進行操作,而不是對端點1進行操作,使用 CMD_WR_USB_DATA5(向USB端點1的發(fā)送緩沖區(qū)寫入數(shù)據(jù)塊)命令吧? 不知道我的理解是否正確? (2)200762912463276.rar 數(shù)據(jù)包中 TEST.C 源程序的主程序 main()如下定義: main( ) { Delay50ms( );/* 延時等待CH375初始化完成,如果單片機由CH375提供復(fù)位信號則不必延時 */ CH375_Init( ); /* 初始化CH375 */ mInitSTDIO( ); 。。。。。。。。。。。。。 Delay50ms(); sent_data(); while(1){ if(CH375_WIRE==0){ mCh375Interrupt(); sent_data(); } } 而 PUB\TEST\MCU 文件夾中的 TEST.C 源程序?qū)χ鞒绦虻亩x為: main( ) { Delay50ms( );/* 延時等待CH375初始化完成,如果單片機由CH375提供復(fù)位信號則不必延時 */ CH375_Init( ); /* 初始化CH375 */ EA = 1; /* 允許中斷 */ while ( 1 ); /* 以下指令開始工作循環(huán),等待PC機命令進行操作 */ } 為何兩者對中斷狀態(tài)處理的操作不太一樣?按照 PUB\TEST\MCU 中 TEST.C 源程序的 main() 主函數(shù)編寫程序,CH375 可以正常響應(yīng)中斷請求嗎? 請問 200762912463276.rar 數(shù)據(jù)包中 TEST.C 源程序的主程序 main(),在處理中斷之前調(diào)用 sent_data() 上傳“01234567”這組數(shù)據(jù),處理完中斷之后,又調(diào)用 sent_data() 上傳“01234567”這組數(shù)據(jù),請問會不會影響中斷子程序 mCh375Interrupt( ) 返回數(shù)據(jù)反碼的操作?