STM32+CH376S+USART

求助大蝦,我使用STM32f103和CH376S通訊,銅鼓USART串口,程序基本調(diào)試成功。但是在保存數(shù)據(jù)時(shí),有時(shí)能保存,有時(shí)保存不上。我在應(yīng)用中保存5次,有的時(shí)候一次也存不上,有的時(shí)候能存上2,3,4次等。程序代碼如下:子程序都是調(diào)用的例程庫(kù)里面的 void UsbStore(void) { uint8 i,s,j; UINT8 TarName[64]; /* 目標(biāo)文件名緩沖區(qū) */ // u16 RealCount; uint8 buf[128]; if((STATUSSUM.A==2)&&(USBCOMFLG.A==1)&&(USBCOMFLG.G==1)) { USBCOMFLG.A=0; j=0; while ( CH376DiskConnect( ) != USB_INT_SUCCESS )// 檢查U盤(pán)是否連接,等待U盤(pán)插入,對(duì)于SD卡,可以由單片機(jī)直接查詢(xún)SD卡座的插拔狀態(tài)引腳 { delay_ms( 100 ); j++; if(j>1) { USBCOMFLG.B=1; //U盤(pán)未插入或未插好 break; } } delay_ms( 200 ); if(USBCOMFLG.B==0) { for ( i = 0; i < 10; i ++ ) /* 最長(zhǎng)等待時(shí)間,100*50mS */ { delay_ms( 50 ); s=CH376DiskMount(); // 初始化磁盤(pán)并測(cè)試磁盤(pán)是否就緒 if(s==USB_INT_SUCCESS) break; else if (s==ERR_DISK_DISCON) break; if ( CH376GetDiskStatus( ) >= DEF_DISK_MOUNTED && i >= 5 ) // 有的U盤(pán)總是返回未準(zhǔn)備好,不過(guò)可以忽略,只要其建立連接MOUNTED且嘗試5*50mS break; } if ( s == ERR_DISK_DISCON ) // 檢測(cè)到斷開(kāi) { USBCOMFLG.B=1; goto UsbFault; } if ( CH376GetDiskStatus( ) < DEF_DISK_MOUNTED ) // 未知USB設(shè)備,例如USB鍵盤(pán)、打印機(jī)等 { USBCOMFLG.C=1; goto UsbFault; } strcpy( (char *)TarName, "\\AAAAAAAA.TXT" ); //目標(biāo)文件名 s = CH376FileOpen( "/YY_ADC.XLS" ); // 打開(kāi)文件,該文件在C51子目錄下 if ( s == USB_INT_SUCCESS ) { s=CH376ByteLocate(0xffffffff); mStopIfError(s); } else if(s ==ERR_MISS_FILE) { s = CH376FileCreate( "/YY_ADC.XLS" ); // s = CH376FileOpen( TarName ); mStopIfError(s); } else { mStopIfError(s); goto UsbFault; }

strcpy((char *)buf, "兄弟們那個(gè)加油哇 呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵" ); s = CH376ByteWrite( buf, strlen((const char *)buf), NULL ); /* 以字節(jié)為單位向當(dāng)前位置寫(xiě)入數(shù)據(jù)塊 */ mStopIfError(s); s = CH376FileClose( TRUE ); mStopIfError(s); UsbFault: delay_us(1); } } }

你先保存一次看一下是否每次都能通過(guò)?如果不能保存,可以用Winhex軟件看看有沒(méi)有數(shù)據(jù)寫(xiě)進(jìn)去。


謝謝。您的回復(fù)。保存一次也是有時(shí)能存上,有時(shí)存不上


確保你前面初始化都是正確通過(guò)的,再者就是用一樓的方法確認(rèn)一下是不是已經(jīng)寫(xiě)進(jìn)去而沒(méi)讀出來(lái)。


可以把你的程序發(fā)來(lái) 我看一下嗎???參考一下? 可以嗎? QQ 994099840


在嗎?、大神? 我也在做這個(gè)? 也遇到問(wèn)題了? 需要你的幫助


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

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