CMD_RD_USB_DATA0 使用問題

還是不行 麻煩幫看一下我的程序那里會有問題: #define rwzl XBYTE[0X0100] /*指令讀寫端口地址*/ #define rwdata XBYTE[0X0000] /*數(shù)據(jù)讀寫端口地址*/ sbit Pcs = P1^0; /*并口的片先信號。低電平有效*/ sbit RSTI = P1^1; /*硬件復(fù)位信號,高電平有效。*/ error_daima = main_check_ch376();/*檢測ch376是否工作正常*/

Initialization();/*初始化USB工作模式為6*/

rwzl = DISK_CONNECT;/*檢測磁盤是否連接*/ DelayMs(250);

rwzl = DISK_MOUNT; /*初始化磁盤并測試磁盤是否就緒*/ DelayMs(250);

rwzl = DISK_CAPACITY;/*查詢物理磁盤容量*/ DelayMs(250); /*以上步驟都能正常,該產(chǎn)生中斷的指令都會引起中斷,而且在中斷子程序讀取中斷值都能成功 USB_INT_SUCCESS 即14h*/ rwzl = RD_USB_DATA0; temp = rwdata; /*讀出的數(shù)據(jù)為零,不懂為什么*/

for(i=0;i { aa = rwdata; }

發(fā)送RD_USB_DATA0命令是不需要等待中斷狀態(tài)的,直接讀出9字節(jié)數(shù)據(jù)即可。


rwzl = DISK_CAPACITY;/*查詢物理磁盤容量*/ 這指令不是會引起中斷嗎 引起中斷之后在中斷子程序里使用讀取中斷狀態(tài)值 (rwzl = GET_STATUS)來取消中斷請求后 在主程序里才能再使用 rwzl = RD_USB_DATA0;指令來讀取 物理磁盤容量的數(shù)據(jù)嗎。 要不,讀取物理磁盤容量的數(shù)據(jù)要怎么來讀取呢?還請指教。


DISK_CAPACITY命令會產(chǎn)生中斷,只有中斷狀態(tài)正確才能發(fā)送RD_USB_DATA0命令讀取數(shù)據(jù)。但是RD_USB_DATA0命令是不會產(chǎn)生中斷的。


是啊 我就是在發(fā)出DISK_CAPACITY 產(chǎn)生中斷后 在中斷里讀取的中斷狀態(tài)值為 14h (USB_INT_SUCCESS)后?;氐街鞒绦蛟偈褂弥噶頡D_USB_DATA0 后 緊跟著就用 讀取數(shù)據(jù)指令 去讀取數(shù)據(jù)的(如 temp = rwdata)。沒有說還要等待中斷后再去讀數(shù)據(jù)。就是這樣讀不到數(shù)據(jù) ,所以才感到奇怪?? rwzl = RD_USB_DATA0; temp = rwdata; /*這是緊跟著RD_USB_DATA0指令來讀取數(shù)據(jù)的,可是讀出的數(shù)據(jù)為零,不懂為什么*/

for(i=0;i { aa = rwdata; }


那就應(yīng)該沒有問題,檢查一下RD_USB_DATA0命令碼(27H),最好進(jìn)入到rwdata監(jiān)控一下。


命令代碼是27H 沒錯的,還會有其它什么原因嗎


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

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