磁盤緩沖區(qū)總是提示不足夠大???

這個問題我以前問過,不過仍然沒有解決,哪個遇到此類問題的高手能指點一下嘛,先謝謝了!!

我的單片機是SM8958AC(它內帶768個字節(jié)的XRAM),我用的程序是EXAM7中的那個程序,庫是CH375HF4.lib,程序一走到下面的這段就過不去了,我應該怎么把EXAM7的程序改一下才好呢?另外, CH375vSectorSize是怎么得來的,我看程序覺得如果EN_SEC_SIZE_AUTO=1的話,它就是512,那么DISK_BASE_BUF_LEN定義的也是512,為什么會出錯呢??謝謝了!!!

#if DISK_BASE_BUF_LEN if ( DISK_BASE_BUF_LEN < CH375vSectorSize ) { /// 檢查磁盤數(shù)據(jù)緩沖區(qū)是否足夠大,CH375vSectorSize是U盤的實際扇區(qū)大小 printf( "Too large sector size\n" ); while ( CH375DiskConnect( ) == ERR_SUCCESS ){ mDelaymS( 100 ); } continue; } #endif[Emot]10[/Emot]

你看一下CH375vSectorSize多大,然后EXAM7編譯出來后data,xdata各是多少?


data=121.5,xdata=541

CH375vSectorSize<512因為仿真器不能仿真,所以用LED小燈在這個位置看了一下。

我板上的晶振是11.0592MHZ,不知道LIB還用不用改一下? #define DISK_BASE_BUF_ADDR 0x0000 (這句我給屏蔽)了,所以用到的數(shù)據(jù)緩沖區(qū)是DISK_BASE_BUF[ DISK_BASE_BUF_LEN ]由系統(tǒng)自動分配的。


CH375的晶振一定要是12M的,單片機的晶振可以由用戶自己選擇,到網上下載winhex軟件,看看你U盤的扇區(qū)大小是多少?一般都是512字節(jié)的.也有大扇區(qū)的U盤.


哦,必須是12MHZ?? 正常改完這個晶振程序還有什么改動嗎??LIB-CFG-DISK還有做什么改動不? 我看了網上的貼子,說是LIB6的庫,數(shù)據(jù)和命令的I/O口定義都不能自己改??我用的是LIB4的庫可以隨便改這兩個地址嗎? 謝謝了!!


是的,CH375的晶振一定是12M的,其它沒有什么改動,LIB6的庫和LIB4的庫是用總線方式操作CH375的,數(shù)據(jù)和命令端口的地址可以改.但必須要和你的硬件一致.


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

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