[求助]msp430與ch376的串口如何關(guān)閉文件

我將愿函數(shù)修改了下,,懷疑這里有問題。串口中斷的時候flag置1, ReadUART()時候flag置一,不知道該如何修改,在關(guān)閉文件的時候一直是失敗,求幫助。?。? UINT8 Query376Interrupt( void ) { if ( Flag==1 ) { /* 如果未連接CH376的中斷引腳則查詢串口中斷狀態(tài)碼 */ {Flag = 0; return( TRUE );} } else return( FALSE ); } UINT8 ReadUART(void) { Flag=0; return RxBuf; }[Emot]20[/Emot][Emot]20[/Emot][Emot]20[/Emot][Emot]20[/Emot][Emot]20[/Emot]

ReadUART應該這樣寫吧: UINT8 ReadUART(void) { Flag=1; return RxBuf; } 關(guān)閉文件一直失敗是沒等到中斷嗎?


ReadUART()這是一個讀取串口中斷數(shù)據(jù)的函數(shù),串口讀取時,F(xiàn)lag就會置一 下面是中斷函數(shù) #pragma vector=USCIAB0RX_VECTOR __interrupt void USCI0RX_ISR(void) { RxBuf = UCA0RXBUF; Flag=1;//有數(shù)據(jù)產(chǎn)生 }

我現(xiàn)在發(fā)送CH376FileClose(TRUE);如果有返回數(shù)據(jù)中斷對flag置一,但是flag一直是0,而且我沒有讀取過數(shù)據(jù),那就應該是一直沒有等到中斷,,所以文件一直關(guān)不了,,究竟要怎么關(guān), 網(wǎng)上怎么好像說是要把中斷引腳拿來檢測?求解答?。?!


你的流程有點問題,那個查詢串口中斷狀態(tài)碼你不需要讀取,只需要一直等待中斷碼,等到后flag=1,然后進入Query376Interrupt將Flag = 0,然后通過CH376GetIntStatus查詢中斷狀態(tài)。 查詢中斷引腳是另一種處理方式,比你的方法簡單一些,直接查詢INT#引腳的電平即可,如果是低電平,直接通過CH376GetIntStatus查詢中斷狀態(tài)并撤銷中斷。


。額。。我現(xiàn)在將源碼完全移植了一遍。在運行到InitCH376Host.中的 xWriteCH376Cmd( CMD11_CHECK_EXIST ); /* 測試單片機與CH376之間的通訊接口 */ xWriteCH376Data( 0x65 ); res = xReadCH376Data( ); 一運行完,我的單片機就重啟了,十分詭異,,我定斷點試過很多次,就是在這個地方。。請問下,這是為什么, 當把模塊拆除就沒有問題。。


只有登錄才能回復,可以選擇微信賬號登錄

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