CH375,為什么這些變量會這樣

我用CH375字節(jié)方式寫入數(shù)據(jù),幾個全局變量定義在主函數(shù)外面。 把外設(shè)的數(shù)據(jù)讀到這幾個變量里,然后把這幾個變量的值寫到U盤里,上電后接上U盤,寫進(jìn)去的數(shù)據(jù)是對的,數(shù)據(jù)如下: 序號:0 時間:20111111111111 溫度:22 序號:1 時間:20664453543511 溫度:77

但是把U盤拔出來,再接進(jìn)去,讀出來就錯了。。。 序號: 時間: 溫度: 序號: 時間: 溫度:

復(fù)位一下單片機,就對了,拔出來再接進(jìn)去就錯了。。。 求指點..謝謝

U盤連接在CH375上,你是怎么檢測這個數(shù)據(jù)是正確的?假設(shè)你寫的數(shù)據(jù)是對的,如果存在這種現(xiàn)象,寫完數(shù)據(jù)后,等待U盤上的燈不閃后再將U盤拔出。


你的幾個全局變量在 主函數(shù)中有沒有初始化,U盤端開和連接之后,這幾個變量的值是否影響到U盤的數(shù)據(jù)寫入


我在大while循環(huán)里,每次都初始化他們,但還是錯的,像下面那樣 time[0]=66;time[1]=44;time[2]=53;time[3]=54;time[4]=35;time[5]=11;temper=77; fun();// fun函數(shù)是寫數(shù)據(jù)的,由下面兩個函數(shù)組成,一個寫整數(shù),一個寫字符串 void charge_d(unsigned char t) { unsigned char *p; sprintf(p,"%d",t); mCmdParam.ByteWrite.mByteCount=strlen(p);//字符串長度 strcpy((char *)mCmdParam.ByteWrite.mByteBuffer ,p);//字符串內(nèi)容 CH375ByteWrite(); }

void charge_c(unsigned char *q) { mCmdParam.ByteWrite.mByteCount=strlen(q);//字符串長度 strcpy((char *)mCmdParam.ByteWrite.mByteBuffer ,q);//字符串內(nèi)容 CH375ByteWrite(); }

甚至我把那幾個全局變量定義到主函數(shù)里,每次循環(huán)都初始化,還是一樣的結(jié)果。

如果不行就算了,畢竟不是硬件問題,多謝幫忙了!


可能是你的程序問題。 序號: 時間: 溫度: 序號: 時間: 溫度: 為什么漢字是正確的?數(shù)字不是正確的?這可能是轉(zhuǎn)換錯誤。 你不用轉(zhuǎn)換,直接這樣做 mCmdParam.ByteWrite.mByteBuffer[0] = 0x31; mCmdParam.ByteWrite.mByteBuffer[1] = 0x32; mCmdParam.ByteWrite.mByteBuffer[2] = 0x33; mCmdParam.ByteWrite.mByteBuffer[3] = 0x34; mCmdParam.ByteWrite.mByteBuffer[4] = 0x35; 依次往下寫 看看數(shù)據(jù)是否正確


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

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