C8051F040初始化CH375程序庫(kù)和CH375芯片失敗[求助]

C8051F040初始化CH375程序庫(kù)和CH375芯片失敗,返回的錯(cuò)誤代碼是0x81

我使用的是單片機(jī)為C8051F040,晶振22.1184M,按照Readme.pdf上的設(shè)計(jì)3.3v產(chǎn)品的原理圖連接,375是用的WCH公司提供的焊接好的的CH375vDIP28模塊,子程序庫(kù)使用的是FILELIB5文件夾中的CH375HF5.LIB,在給的例子程序CH375HFT.C基礎(chǔ)上稍作修改,改動(dòng)的部分如下: 1 按照自己做的板子的接口修改 sbit CH375_A0 = P1^5; sbit CH375_CS = P1^7; sbit CH375_WR = P1^1; sbit CH375_RD = P1^3; sbit INT0 = P3^2; 2 修改mDelay1_2uS( )函數(shù),使得延時(shí)達(dá)到1.2us void mDelay1_2uS( ) { unsigned int i=100; while(i--); return; } 3 將C8051F040的P0口和P1口設(shè)置為推挽輸出。

編譯通過(guò),但在使用子程序庫(kù)中CH375LibInit( )執(zhí)行初始化CH375程序庫(kù)和CH375芯片時(shí),即i = CH375LibInit( );后,返回錯(cuò)誤代碼0x81。這個(gè)錯(cuò)誤代碼我查看CH375HF5.H后發(fā)現(xiàn)是CH375硬件錯(cuò)誤,可能需要復(fù)位CH375

#define ERR_CH375_ERROR 0x81 /* CH375硬件錯(cuò)誤,可能需要復(fù)位CH375 */

可是復(fù)位電路是WCH公司提供的dip28上焊接好的,到底是復(fù)位電路有問(wèn)題,還是有其他什么原因?請(qǐng)高手賜教,不勝感激。 謝謝!

庫(kù)初始化返回0X81的話(huà),那是硬件問(wèn)題,需要用測(cè)試命令來(lái)測(cè)試你的硬件,參考CH375DS1,上面有測(cè)試命令的詳細(xì)說(shuō)明


接線(xiàn)有沒(méi)有接好,程序中引腳的定義和實(shí)際電路是否一致都有可能出現(xiàn)0x81. 那你先發(fā)CMD_CHECK_EXIST測(cè)試命令測(cè)下,看讀出來(lái)的數(shù)據(jù)是不是寫(xiě)進(jìn)去的數(shù)據(jù)取反,來(lái)確定是不是硬件錯(cuò)誤.


謝謝!我試一下:)


測(cè)試一下,程序如下: xWriteCH375Cmd(CMD_CHECK_EXIST); //寫(xiě)入0x06測(cè)試命令 xWriteCH375Data(0xaa); //寫(xiě)入0xaa測(cè)試數(shù)據(jù) result=0x00; result=xReadCH375Data(); //讀出數(shù)據(jù)

得到的結(jié)果是result=0xff

這個(gè)結(jié)果顯然不對(duì)。我測(cè)試的時(shí)候用萬(wàn)用表CH375每一個(gè)相應(yīng)的數(shù)據(jù)引腳和控制引腳都測(cè)試過(guò)電平,沒(méi)有錯(cuò)誤,但是結(jié)果還是不對(duì)。請(qǐng)問(wèn)是不是片子有問(wèn)題?


你的CPU是否有控制CH375復(fù)位??


返回0XFF一般來(lái)說(shuō)要么是芯片沒(méi)復(fù)位,要么375芯片的晶振沒(méi)起振


查下CH375的晶振可起振了,在讀出來(lái)數(shù)據(jù)不正確后面,循環(huán)發(fā)復(fù)位命令看下. 還有你的CH375是工作在串口方式還是并口方式?


你換一個(gè)普通的51單片機(jī)做下測(cè)試命令看下返回的數(shù)據(jù)是多少??


晚上示波器測(cè)試了下,DIP28模塊上的晶振不起振,一直保持3.2v電壓。 可是我是用WCH公司提供的焊接好的模塊啊,而且買(mǎi)的兩塊都不行。會(huì)是什么方面的原因呢?郁悶。 請(qǐng)大蝦賜教!


你買(mǎi)的是3。3V供電的轉(zhuǎn)換板嗎?轉(zhuǎn)換版上面的VCC和V3有沒(méi)有短接起來(lái)?


你買(mǎi)的我們的轉(zhuǎn)換板是3.3V的嗎? 會(huì)不會(huì)是你的供電是3.3V,而我們的轉(zhuǎn)換板是以5V供電接線(xiàn)的,導(dǎo)致你所說(shuō)的沒(méi)有起振。


剛才技術(shù)支持打來(lái)電話(huà),說(shuō)3.3v的轉(zhuǎn)換板測(cè)晶振時(shí)探針要打到*10檔,否則會(huì)引起晶振停振。我昨天晚上測(cè)試的時(shí)候沒(méi)有這樣做。剛才按照這個(gè)要求重新做了一些,發(fā)現(xiàn)晶振工作是正常的,12M正弦波。

晶振工作是正常的,vcc(28腳)和v3(9腳)接3.3v,GND(12/23腳)和TXD(5腳)接地,并經(jīng)過(guò)萬(wàn)用表測(cè)試。復(fù)位腳是轉(zhuǎn)換板上經(jīng)過(guò)電容接到3.3v的,數(shù)據(jù)總線(xiàn)接的是P0口,控制線(xiàn)A0 WR RD接到P1口的端口,CS強(qiáng)制片選接到GND端。INT接P3.2,這些都是經(jīng)過(guò)萬(wàn)用表測(cè)試過(guò)的。

想不出哪邊出錯(cuò),郁悶。。。讓大家費(fèi)心了。。


那現(xiàn)在返回的數(shù)據(jù)是多少?還是0XFF嗎??你輸入的數(shù)據(jù)是多少??你給375上電的時(shí)候用示波器測(cè)試下看375的RSTI引腳上面有沒(méi)有出現(xiàn)一個(gè)高電平或者你測(cè)下375的25腳和26腳的電壓是多少,正常復(fù)位和晶振起振的話(huà),25腳為低,26腳為高


25腳為低,26腳為高,RSTI(2腳)在上電瞬間有高電平,然后是低電平,低電平峰值為460mv


xWriteCH375Cmd(CMD_CHECK_EXIST); //寫(xiě)入0x06測(cè)試命令 xWriteCH375Data(0xaa); //寫(xiě)入0xaa測(cè)試數(shù)據(jù) result=0x00; result=xReadCH375Data(); //讀出數(shù)據(jù)

得到的結(jié)果是result=0xff


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

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