使用DM642調(diào)試CH376的時候初始化總返回錯誤指令FA

blob.png


求助這是什么問題,為何總無法完成初始化,這是改的UART_HW.C的函數(shù)


voidxWriteCH376Cmd( UINT8 mCmd ) ?/* 向CH376寫命令 */

{

VMD642_UART_putChar(g_uartHandleA,SER_SYNC_CODE1);

mDelayuS( 50 );

VMD642_UART_putChar(g_uartHandleA,SER_SYNC_CODE2);

mDelayuS( 50 );

VMD642_UART_putChar(g_uartHandleA,mCmd);

}


voidxWriteCH376Data( UINT8 mData ) ?/* 向CH376寫數(shù)據(jù) */

{

VMD642_UART_putChar(g_uartHandleA,mData);

}


UINT8xReadCH376Data( void ) ?/* 從CH376讀數(shù)據(jù) */

{

Int16status,rbuf;


status = VMD642_UART_rget(g_uartHandleA, VMD642_UART_LSR);


if ((status & 1) == 1)

{

rbuf= VMD642_UART_getChar(g_uartHandleA);

return( rbuf );

}

return( 0 );

}



UINT8Query376Interrupt( void )

{

Int16status,rbuf;


status = VMD642_UART_rget(g_uartHandleA, VMD642_UART_LSR);


if ((status & 1) == 1)

{


return( TRUE );

}

return( FALSE );




}


UINT8mInitCH376Host( void ) ?/* 初始化CH376 */

{

UINT8res;


xWriteCH376Cmd( CMD11_CHECK_EXIST ); ?/* 測試單片機與CH376之間的通訊接口 */

mDelayuS( 50 );

xWriteCH376Data( 0x65 );

mDelayuS( 50 );

res = xReadCH376Data( );


if ( res != 0x9A ) return( ERR_USB_UNKNOWN ); ?/* 通訊接口不正常,可能原因有:接口連接異常,其它設(shè)備影響(片選不唯一),串口波特率,一直在復(fù)位,晶振不工作 */


xWriteCH376Cmd( CMD11_SET_USB_MODE ); ?/* 設(shè)備USB工作模式 */

mDelayuS( 50 );

xWriteCH376Data( 0x06 );

mDelayuS( 50 );

res = xReadCH376Data( );


if ( res == CMD_RET_SUCCESS ) return( USB_INT_SUCCESS );

else return( ERR_USB_UNKNOWN ); ?/* 設(shè)置模式錯誤 */

}


首先確定你的芯片的晶振是起振的,還有如果是28腳線確定第二腳的電壓應(yīng)該為低電平。先確定芯片正常工作了,還有上電之后延時50MS以后在操作CH376


謝謝,已經(jīng)解決問題了,關(guān)鍵是延時的部分,得按照DM642來寫延時,給的例程是51的,延時時間太短,總是導(dǎo)致初始化失敗


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

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