CH376返回值是0XFF問題求助

用CMD_CHECK_EXIST命令測試硬件問題,該命令必然返回數(shù)據,如果返回數(shù)據不是0FFH,那么通常是 數(shù)據總線連接錯誤,這種問題容易處理,可以根據返回的值分析是哪個數(shù)據線有誤。 如果返回數(shù)據是0FFH,那么可能CH375不正常,例如,無時鐘、未復位、讀寫片選線有誤、工作于串 口方式等,如果復位期間CH375的TXD引腳是高電平,那么CH375工作于串口方式,當然并口操作無效 這是論團里說的,我測試過我的ch376無論復位引腳高或低,TXD引腳都是高電平啊,版主怎么處理,我用的是并口方式

你工作在并口模式,TXD應該接GND。返回0xFF那你就檢查一下晶振是否起振,25腳電平是否為低電平確保CH376正常工作。以上都正確你再檢查你的并口時序。


晶振沒問題,12M,且只在XO腳接了一個20PF電容,25腳外部復位引腳為低時也為低,復位引腳接了0.47u上拉電容,時序按照論壇了推薦的這個寫的 UINT8 xReadCH376Status( void ) /* 從CH376讀狀態(tài),僅用于并口方式 */ { UINT8 mData; CH376_DATA_DIR_IN( ); /* 設置并口方向為輸入 */ CH376_A0 = 1; CH376_CS = 0; CH376_RD = 0; /* 輸出有效讀控制信號, 讀CH376芯片的狀態(tài)端口 */ CH376_CS = 0; /* 該操作無意義,僅作延時,CH376要求讀寫脈沖寬度大于40nS,強烈建議此處執(zhí)行一條空指令延時以確保并口有足夠時間輸入數(shù)據 */ mData = CH376_DATA_DAT_IN( ); /* 從CH376的并口輸入數(shù)據 */ CH376_RD = 1; /* 輸出無效的控制信號, 完成操作CH376芯片 */ CH376_CS = 1; CH376_A0 = 0; return( mData ); } void xWriteCH376Cmd( UINT8 mCmd ) /* 向CH376寫命令 */ { CH376_DATA_DAT_OUT( mCmd ); /* 向CH376的并口輸出數(shù)據 */ CH376_DATA_DIR_OUT( ); /* 設置并口方向為輸出 */ CH376_A0 = 1; CH376_CS = 0; CH376_WR = 0; /* 輸出有效寫控制信號, 寫CH376芯片的命令端口 */ // CH376_CS = 0; /* 該操作無意義,僅作延時,CH376要求讀寫脈沖寬度大于40nS */ CH376_WR = 1; /* 輸出無效的控制信號, 完成操作CH376芯片 */ CH376_CS = 1; CH376_A0 = 0; CH376_DATA_DIR_IN( ); /* 禁止數(shù)據輸出 */ /* mDelay0_5uS( ); mDelay0_5uS( ); mDelay0_5uS( );*/ /* 延時1.5uS確保讀寫周期大于1.5uS,或者用狀態(tài)查詢代替 */ }

void xWriteCH376Data( UINT8 mData ) /* 向CH376寫數(shù)據 */ { CH376_DATA_DAT_OUT( mData ); /* 向CH376的并口輸出數(shù)據 */ CH376_DATA_DIR_OUT( ); /* 設置并口方向為輸出 */ CH376_A0 = 0; CH376_CS = 0; CH376_WR = 0; /* 輸出有效寫控制信號, 寫CH376芯片的數(shù)據端口 */ // CH376_CS = 0; /* 該操作無意義,僅作延時,CH376要求讀寫脈沖寬度大于40nS */ CH376_WR = 1; /* 輸出無效的控制信號, 完成操作CH376芯片 */ CH376_CS = 1; CH376_DATA_DIR_IN( ); /* 禁止數(shù)據輸出 */ // mDelay0_5uS( ); /* 確保讀寫周期大于0.6uS */ }

UINT8 xReadCH376Data( void ) /* 從CH376讀數(shù)據 */ { UINT8 mData; // mDelay0_5uS( ); /* 確保讀寫周期大于0.6uS */ CH376_DATA_DIR_IN( ); /* 設置并口方向為輸入 */ CH376_A0 = 0; CH376_CS = 0; CH376_RD = 0; /* 輸出有效讀控制信號, 讀CH376芯片的數(shù)據端口 */ CH376_CS = 0; /* 該操作無意義,僅作延時,CH376要求讀寫脈沖寬度大于40nS,強烈建議此處執(zhí)行一條空指令延時以確保并口有足夠時間輸入數(shù)據 */ mData = CH376_DATA_DAT_IN( ); /* 從CH376的并口輸入數(shù)據 */ CH376_RD = 1; /* 輸出無效的控制信號, 完成操作CH376芯片 */ CH376_CS = 1; return( mData ); } 按照這個思路修改你AVR的IO

我用的是STM32,也在讀寫過程中加了延時,版主如果有STM32并口例程發(fā)給我下,謝謝了,我都調了很多天


25腳外部復位引腳為低時也為低?這是什么意思,正常的話是低電平。另外,TXD用于模式選擇應該接GND。時序基本和我們提供的例程一樣,你還是檢查一下你的硬件。


您好:

我目前也是遇到相同的問題

利用CMD_CHK_EXIST (06)之后, 輸入0x65, 也是沒有讀到反向的數(shù)據, 而是讀到0xFF, 經確認當時的環(huán)境為:

(1) RSTI (pin-2)有接一個0.1uF電容到3.3V

(2) RST (pin-25)在供電之后為logic-0

(3) 12MHz crystal似乎沒有oscillate

請問公司有何建議呢?

?

B/R



首先你的晶振是必須要起振的,一般給芯片上電就可以,你檢查一下晶振部分電路,震蕩電容有沒有加合適?檢查硬件電路。


感謝您

我檢查過硬件了 晶體沒有震蕩 晶體震蕩電容有合乎標準

似乎遇到問題了



想要ch376工作,晶振就要工作。你是怎么測量晶振沒起振?用示波器測量比較好。板子晶振電容接地有沒有接好?試試在晶振XO和XI間并一個1M電阻試試。


換個晶振或ch376試試!


怎么測量晶振沒起振?用萬能表可以嗎?

我也是折騰了好久,還是0XFF。我用SPI,軟硬法都試過了。


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

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