請問,用CH376并行口讀寫USB,對其初始化執(zhí)行以下指令
xWriteCH376Cmd( CMD11_SET_USB_MODE );
xWriteCH376Data( 0x05 );
res = xReadCH376Data( );
res=0xF8是什么錯(cuò)誤?
請問,用CH376并行口讀寫USB,對其初始化執(zhí)行以下指令
xWriteCH376Cmd( CMD11_SET_USB_MODE );
xWriteCH376Data( 0x05 );
res = xReadCH376Data( );
res=0xF8是什么錯(cuò)誤?
您好,設(shè)置USB MODE需要延時(shí)一段時(shí)間再去讀取命令的返回值,其次首先需要確保CHECK_EXIST命令的數(shù)據(jù)取反是正確的,來保證接口通訊沒有問題。
并口方式讀寫USB初始化CH376問題
UINT8mInitCH376Host( void )? /* 初始化CH376 */
{
UINT8res;
uchar xdata r;
CH376_PORT_INIT( );? /* 接口硬件初始化 */ /* 使用標(biāo)準(zhǔn)并口讀寫時(shí)序,無需初始化 */
xWriteCH376Cmd( CMD11_CHECK_EXIST );? /* 測試單片機(jī)與CH376之間的通訊接口 */
xWriteCH376Data( 0x65 );
res = xReadCH376Data( ); //這里返回值正確
if ( res != 0x9A ) return( ERR_USB_UNKNOWN );
?
xWriteCH376Cmd( CMD11_SET_USB_MODE );? /* 設(shè)備USB工作模式 */
delay_us(1);
xWriteCH376Data( 0x06 );
mDelayuS( 10 );
res = xReadCH376Data( ); //這里返回值不正確,返回值=0xF8是什么錯(cuò)誤?
if ( res == CMD_RET_SUCCESS ) return( USB_INT_SUCCESS );
else return( ERR_USB_UNKNOWN );? /* 設(shè)置模式錯(cuò)誤 */
}
您好,從 這個(gè)代碼的流程上看是沒有問題的,還需要注意的是延時(shí)操作是否實(shí)際生效,可以將所有信號(hào)線進(jìn)行抓取分析時(shí)許本身是否正確。