CH376控制U盤創(chuàng)建并寫入數(shù)據(jù)后,在PC上打不開[求助]

int main() { init_usb(); init_Umem(); printf("\n創(chuàng)建一個(gè)TXT文件……"); write_command_to_usb(SET_FILE_NAME); send_string_to_usb("/TAST.TXT\x0",12); write_command_to_usb(FILE_CREATE); while(ch376_intflag!=1); ch376_intflag=0; if(ch376_status==USB_INT_SUCCESS) { printf("成功!\n"); } else { printf("失敗--%d\n",ch376_status); while(1); }

write_command_to_usb(BYTE_WRITE); write_data_to_usb(28); write_data_to_usb(0); while(ch376_intflag!=1); ch376_intflag=0; if(ch376_status==USB_INT_DISK_WRITE) { write_command_to_usb(WR_REQ_DATA); printf("需要寫入TXT的數(shù)據(jù)量為:%d\n",read_data_from_usb()); } else { printf("\nTXT文本數(shù)據(jù)寫入失敗--%d\n",ch376_status); while(1); }

send_string_to_usb("HELLO,USB!",10); send_string_to_usb("U盤TXT文本創(chuàng)建成功",18); write_command_to_usb(BYTE_WR_GO); while(ch376_intflag!=1); ch376_intflag=0; if(ch376_status==USB_INT_SUCCESS) { printf("TXT文本數(shù)據(jù)寫入成功!\n"); } else { printf("第二次TXT文本數(shù)據(jù)寫入失敗--%d\n",ch376_status); while(1); } write_command_to_usb(FILE_CLOSE); write_data_to_usb(1); printf("TXT文本創(chuàng)建并寫入完成!\n"); while(1); return 0; }

以上是主程序

下面是Console界面信息: U盤已插入

U盤初始化成功 獲取USB存儲設(shè)備的磁盤物理容量…… 0x14成功 總扇區(qū)數(shù)為:31457279 每個(gè)扇區(qū)字節(jié)數(shù)為:512 總存儲量為:15359MB 獲取USB存儲設(shè)備的磁盤空間信息……成功 邏輯盤扇區(qū)數(shù)為:31391680(15327MB) 剩余扇區(qū)數(shù)為:31391672(15327MB) 文件系統(tǒng)類型:FAT32

創(chuàng)建一個(gè)TXT文件……成功! 需要寫入TXT的數(shù)據(jù)量為:28 TXT文本數(shù)據(jù)寫入成功! TXT文本創(chuàng)建并寫入完成!

20148252173619.jpg 圖片是在PC機(jī)上打開新建文件時(shí)出現(xiàn)的警告信息

你創(chuàng)建的文件名有問題,看下你創(chuàng)建函數(shù)。


引用回復(fù): int main() { init_usb(); init_Umem(); printf("\n創(chuàng)建一個(gè)TXT文件……"); write_command_to_usb(SET_FILE_NAME); send_string_to_usb("/TAST.TXT\x0",12); write_command_to_usb(FILE_CREATE); while(ch376_intflag!=1); ch376_intflag=0; if(ch376_status==USB_INT_SUCCESS) { printf("成功!\n"); } else { printf("失敗--%d\n",ch376_status); while(1); }

write_command_to_usb(BYTE_WRITE); write_data_to_usb(28); write_data_to_usb(0); while(ch376_intflag!=1); ch376_intflag=0; if(ch376_status==USB_INT_DISK_WRITE) { write_command_to_usb(WR_REQ_DATA); printf("需要寫入TXT的數(shù)據(jù)量為:%d\n",read_data_from_usb()); } else { printf("\nTXT文本數(shù)據(jù)寫入失敗--%d\n",ch376_status); while(1); }

send_string_to_usb("HELLO,USB!",10); send_string_to_usb("U盤TXT文本創(chuàng)建成功",18); write_command_to_usb(BYTE_WR_GO); while(ch376_intflag!=1); ch376_intflag=0; if(ch376_status==USB_INT_SUCCESS) { printf("TXT文本數(shù)據(jù)寫入成功!\n"); } else { printf("第二次TXT文本數(shù)據(jù)寫入失敗--%d\n",ch376_status); while(1); } write_command_to_usb(FILE_CLOSE); write_data_to_usb(1); printf("TXT文本創(chuàng)建并寫入完成!\n"); while(1); return 0; }

以上是主程序

下面是Console界面信息: U盤已插入

U盤初始化成功 獲取USB存儲設(shè)備的磁盤物理容量…… 0x14成功 總扇區(qū)數(shù)為:31457279 每個(gè)扇區(qū)字節(jié)數(shù)為:512 總存儲量為:15359MB 獲取USB存儲設(shè)備的磁盤空間信息……成功 邏輯盤扇區(qū)數(shù)為:31391680(15327MB) 剩余扇區(qū)數(shù)為:31391672(15327MB) 文件系統(tǒng)類型:FAT32

創(chuàng)建一個(gè)TXT文件……成功! 需要寫入TXT的數(shù)據(jù)量為:28 TXT文本數(shù)據(jù)寫入成功! TXT文本創(chuàng)建并寫入完成!

20148252173619.jpg 圖片是在PC機(jī)上打開新建文件時(shí)出現(xiàn)的警告信息

文件名有什么問題?我看過BBS上的那個(gè)帖子。好像沒什么問題,都符合要求。


呃…… 怎么才能回復(fù)別人的回復(fù)? 剛上這個(gè)論壇 不太懂


文件名的創(chuàng)建,必須是大寫字母,文件名不超過8個(gè)字符,后綴不超過3個(gè)字符以0x00結(jié)尾。你首先在根目錄下創(chuàng)建試一下?你程序中創(chuàng)建TAST.TXT,怎么會出現(xiàn)/TEST.TXT和TEST.txt文件呢?


/TEST.TXT和TEST.txt這幾個(gè)都是為了試一下對不對。 是在根目錄下創(chuàng)建的。好的,我再試一下。


《單片機(jī)通過CH375讀寫U盤文件的問題解答》這個(gè)帖子里提到: “另外,寫完文件后要及時(shí)修改文件長度,如果寫入了數(shù)據(jù)而文件長度為0,那么WINDOWS也讀不出數(shù)據(jù)。” 這個(gè)應(yīng)該怎么操作?


直接調(diào)用s = CH376FileClose( 1 ),關(guān)閉文件自動(dòng)更新文件長度。


你的問題解決了嗎 我也是這個(gè)問題啊 困擾好幾天了


還沒有!我也弄了好幾天了,這兩天有點(diǎn)其它事,沒去弄。 我是在NIOS II里面去做的,讀寫數(shù)據(jù)和命令的函數(shù)是參考別人的寫的 。 官網(wǎng)的的資料沒有NIOS II上應(yīng)用的代碼。 我打算過兩天在單片機(jī)上,用官方資料的給的代碼試一下。


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

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