CH375串口讀U盤的問題--急

我使用CH375模塊和MAX232模塊相連,沒有使用單片機(jī),使用PC做上位機(jī) 連接后 使用 0X01命令,0X06命令,都返回07FFFBF 這是為什么?。? 請盡快回復(fù),我在線關(guān)注ing 。。謝謝

暈。。怎么沒人理我? 我寫入0X57 0XAB 0X01 0X00 格式應(yīng)該沒錯(cuò)吧?使用的中斷串口程序,和另一個(gè)電腦聯(lián)機(jī)是沒有問題的,但是發(fā)給CH375什么指令都是返回07FFFBF 這是為什么?。???我要急死了。。。555555


你是用PC機(jī)直接操作CH375芯片還是串口版U盤讀寫模塊??? (1)操作CH375,你的數(shù)據(jù)格式錯(cuò)誤,具體方法參考CH375手冊串口部分 (2)操作模塊,你的操作方式錯(cuò)誤,具體方法參考CH375HM.PDF


PC 串口 <=> MAX232 <=> CH375 這樣應(yīng)該是可行的啊 。。 我不想用單片機(jī)做中間的轉(zhuǎn)接,我是用電腦做了單片機(jī)的事情,讓電腦直接和CH375通信,而且還返回了數(shù)據(jù)的,就是不知道為什么,都是一個(gè)數(shù)據(jù)。。


你計(jì)算機(jī)軟件中串口配置是否正確:9600bps,9位通信方式。第9位為1表示命令,為0表示數(shù)據(jù)。還有你的發(fā)送的數(shù)據(jù)格式也不對(duì),不應(yīng)該發(fā)送0x57,0xAB。例如獲取版本的命令,直接發(fā)送0x01,等待1.5Us,再從串口讀數(shù)據(jù)就可以了


哦。。你說到發(fā)送9位,好像我設(shè)置的是起始1,數(shù)據(jù)8,終止1,那也就是數(shù)據(jù)只七位?還有我看你們的ExecCommand函數(shù)都是先發(fā)送57 AB作為通知串口發(fā)送命令的啊?


現(xiàn)在我測試了,直接發(fā)送0X01 返回FFB7 直接發(fā)送0X60 返回0X5F 請問,這是正常的么?該怎么判斷這些數(shù)據(jù)呢? 我使用的CH375B的芯片。


我看了你們網(wǎng)站上的,CH375DS1,發(fā)現(xiàn)這些返回?cái)?shù)據(jù)是對(duì)的,當(dāng)發(fā)送0x01是,返回B7,實(shí)際版本為37 發(fā)送0x60時(shí),返回0X5F,說明操作失敗,那么失敗的原因可能是?


實(shí)在對(duì)不起,東西做到這里了,我是又激動(dòng)又急躁,而且下了你們很多文檔,看的我有點(diǎn)暈了,都是375系統(tǒng),但是命令碼都不一樣,讓我繞了很多圈,呵呵,不管怎么說,感覺你們的技術(shù)人員還是比較敬業(yè)的。。謝謝你們。。


看了你的描述,你把對(duì)CH375B芯片和U盤讀寫模塊的操作混在一起了。 操作CH375B芯片,只要看看CH375DS1.PDF,CH375DS2.PD就可以了


哦,明白了,這樣啊?!,F(xiàn)在我在看CH375DS1.PDF了,測試了下,那些返回?cái)?shù)據(jù)的操作都成功了,現(xiàn)在我還有兩個(gè)疑問: 1 當(dāng)我發(fā)送0X53 DISK_SIZE 命令后,文檔里寫的是產(chǎn)生中斷,我使用的串口3線法,該怎么取得數(shù)據(jù)呢? 2 能介紹下,一般讀取U盤前,對(duì)375發(fā)送命令的一般順序嗎?


明白了,我先用0X22命令判斷下中斷的狀態(tài),如果為0X14,說明是成功狀態(tài),然后用0X28命令取得USB數(shù)據(jù)緩沖區(qū)的數(shù)據(jù),這樣是對(duì)的吧?呵呵。。離成功不遠(yuǎn)!繼續(xù)奮斗。。


呃。。又遇到問題了,實(shí)在是不想麻煩各位。。不過我倒置了幾個(gè)小時(shí)了,實(shí)在是鬧不懂這個(gè)數(shù)據(jù)該怎么分析了。

我取得了DISK_SIZE 返回的數(shù)據(jù)是:8 1 A 68 FD 14 48 20 C0

怎么樣才能取出我的磁盤大小呢? 我使用的是愛國者64M(65,244,160字節(jié))

DISK_SIZE的說明是8個(gè)字節(jié),但是我要用RD_USB_DATA取出,RD_USB_DATA的格式又是先長度,后數(shù)據(jù),但是這個(gè)明顯數(shù)據(jù)長度不一致啊。。

返回的數(shù)據(jù)里那些是有用的??

PS:請盡快點(diǎn)撥一下啊。。我讀出的MBR信息也是一片混亂。。和我實(shí)際的MBR差別頗多,到底該怎么去除無用信息呢?


項(xiàng)目就要成功了啊..煩請管理員指點(diǎn)一下啊..我怎么樣都不能得到準(zhǔn)確數(shù)據(jù)!!


你把操作U盤的流程貼出看看


再次聲明,我是用的PC做的上位機(jī),沒有使用單片機(jī),375B的TXD,RXD通過RS232接PC232串口上,所以下面的程序是MS-DOS下的C程序代碼,可能跟你們的實(shí)例程序不同,僅僅是寫的得到磁盤大小的東西,返回值在我們上面的帖子中。。。請幫忙分析下吧?

/*Initialize UDisk Unit*/ send_character(0x51); wait_interrupt(); send_character(0x22); tmpLen=wait_interrupt(); if((tmpLen>0)&(buf[0]==0x14)){ if(buf[0]==0x14) printf("Successfully initialize UDisk unit...\n"); } else{ printf("Failed initialize UDisk unit...\n"); exit(0);}

/*Get UDisk unit version*/ send_character(0x01); tmpLen=wait_interrupt(); if(tmpLen>0){ printf("UDisk unit version:"); for(i=0;i /*if((int) buf[i] > 256)*/ buf[i]=buf[i]&0x00ff; printf("\t(Retrun Value:%2x)",(unsigned char)buf[i]); printf("\tActual Version:%2x",((unsigned char)buf[i]&0x3F)); } printf("\n"); } else printf("Error1:Can't get CH375 version.\n");

/*Test UDisk Unit Connection*/ send_character(0x59); wait_interrupt(); send_character(0x22); tmpLen=wait_interrupt(); if(tmpLen>0){ if(buf[0]==0x14) printf("UDisk has been connected...\n"); else{ printf("UDisk is not connect...\n"); exit(0);} } else printf("Error2:Can't connect CH375.\n");

/*Get UDisk Capacity*/ send_character(0x53); wait_interrupt(); send_character(0x28); tmpLen=wait_interrupt(); if(tmpLen>0){ for(i=0;i } else printf("Error3:Can't get disk capacity.\n");

/*Reset all*/ send_character(0x05);

基本上操作都返回成功了,只是得到磁盤容量的時(shí)候,數(shù)據(jù)計(jì)算沒法進(jìn)行,第一位返回8,但是后面有九位。。。


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

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