使用CH374芯片,設(shè)備開機(jī)把CH374初始化為Device方式,即在待機(jī)狀態(tài)下也為Device方式,此時(shí)與PC通訊正常;當(dāng)進(jìn)入某一個(gè)操作菜單時(shí),把CH374切換為Host,然后插入U(xiǎn)盤,也可以正常操作U盤。 現(xiàn)在問題是,當(dāng)還沒有進(jìn)入該菜單時(shí),即在Device方式下插入U(xiǎn)盤,然后再進(jìn)入該菜單,則無法正常對(duì)U盤進(jìn)行操作。如果此時(shí)再拔出U盤再插進(jìn)去,又可以正常操作U盤了。 請(qǐng)問這是什么問題?是否是在Device方式下插入U(xiǎn)盤導(dǎo)致U盤異常,而后無法正常操作U盤? 請(qǐng)問有什么方法可以解決這個(gè)問題? 謝謝!
可能與程序流程有關(guān)系,下載CH374EVT.ZIP,參考\CH374EVT\PUB\MCS51\LIB6\EXAM0,這是一個(gè)主從切換的例程
CH374EVT\MCS51\LIB6\EXAM0的例子是主從切換的,但這個(gè)例子是否是必須先切換到主模式下后才能夠插入U(xiǎn)盤,而在從模式下插入U(xiǎn)盤再切換到主模式是否可以正常操作U盤呢?
是否是在Device方式下插入U(xiǎn)盤導(dǎo)致U盤異常,而后無法正常操作U盤?
可以正常操作的.不會(huì)導(dǎo)致異常.
我們例程有時(shí)也會(huì)產(chǎn)生這種情況,問題存在于DEVICE.C的CH374中斷程序中,當(dāng)設(shè)備檢測(cè)到掛起中斷時(shí),程序中把晶振關(guān)掉了,導(dǎo)致其他地方無法再啟用晶振,只要不關(guān)掉晶振即可
注釋掉“CH374_WRITE_REGISTER( REG_SYS_CTRL, CH374_READ_REGISTER( REG_SYS_CTRL ) | BIT_CTRL_OSCIL_OFF ); // 時(shí)鐘振蕩器停止振蕩,進(jìn)入睡眠狀態(tài)”就可以了。 非常感謝,看來是沒有吃透這些代碼呀。 好,努力學(xué)習(xí)!