版主,我用STM32的FSMC方式驅(qū)動CH376,第一步測試 發(fā)送xWriteCH376Cmd(CMD11_CHECK_EXIST); /* 06 測試單片機與CH376之間的通訊接口 */ xWriteCH376Data(0x55); 時返回值是正確的,發(fā)送0x55 返回值0xAA,沒問題,第二步設(shè)置USB主機模式時發(fā)送06 返回41(正確為51) ,這種問題怎么處理啊,按理說第一步測試通過說明我的時序是正確的可以正常寫命名和讀數(shù)據(jù)啊
設(shè)置模式和測試命令的流程應(yīng)該是一樣的,如下: xWriteCH378Cmd( CMD11_SET_USB_MODE ); /* 設(shè)備USB工作模式 */ xWriteCH378Data( 0x06 ); 另外,你測試命令再測個0xAA看一下是不是返回0x55?
是的啊 xWriteCH376Cmd(CMD11_CHECK_EXIST); /* 06 測試單片機與CH376之間的通訊接口 */ xWriteCH376Data(0x55); // u8Result = xReadCH376Data(); xWriteCH376Cmd(CMD11_CHECK_EXIST); /* 06 測試單片機與CH376之間的通訊接口 */ xWriteCH376Data(0x55); // u8Result = xReadCH376Data(); 測試兩次結(jié)果都是返回AA
不好意思看錯了, xWriteCH376Cmd(CMD11_CHECK_EXIST); /* 06 測試單片機與CH376之間的通訊接口 */ xWriteCH376Data(0x55); // u8Result = xReadCH376Data();
xWriteCH376Cmd(CMD11_CHECK_EXIST); /* 06 測試單片機與CH376之間的通訊接口 */ xWriteCH376Data(0xAA); // u8Result = xReadCH376Data(); 第二次返回C5
我的意思是不是你的數(shù)據(jù)口那塊有問題,特別是第5位(0x41與0x51的區(qū)別),所以測試一下其他數(shù)據(jù)。另外,你在讀寫函數(shù)里面加一些延時試一下!
版主,一般是什么問題引起的啊,我接了外部復(fù)位和中斷引腳,有影響嗎
很明顯你第二次測試命令沒有正常通過,上電之后延時50ms,一般與你的硬件連線和接口時序有關(guān),這邊還沒有涉及到中斷。