[求助]再次求助!返回81錯誤,CHECK命令返回也不正常!

引用回復(fù):V3接地了沒啊? 哪個V3?


hcn,你好!方便的話加我,謝謝!

我的msn:個人信息保護(hù),已隱藏

QQ:50306058


就是接3.3V的時候要接電源,而接5V的時候要接退藕電容在接地的,也就是你電路圖上的第9腳


引用回復(fù):就是接3.3V的時候要接電源,而接5V的時候要接地的,也就是你電路圖上的第9腳 沒有,我接地后試試.謝謝!


在V3接地的時候要加個0.01u的退藕電容在接地


引用回復(fù):在V3接地的時候要加個0.01u的退藕電容在接地 我知道了,我改電路時沒有考慮3.3V和5V區(qū)別。等我改完后再給您消息,謝謝了!非常感謝!


hcn你好!

我剛才把5V電壓改成了3.3V電壓,其他沒有改動。CH375仍然沒有正常工作,這是為何???


那你在加上復(fù)位程序試了沒??


試了,復(fù)位程序為: IO0SET |= 0x400; for(j = 0;j < 0x2fff; j++); IO0CLR |= 0x400; 先置1,再置0,返回的仍然是0。


電壓正常,晶振也起振。


你將讀,寫的子程序發(fā)出來看下,可能是你I/O口的方向錯了而讀不到數(shù)據(jù)


void CH375_PORT_INIT( ) /* 由于使用通用I/O模塊并口讀寫時序,所以進(jìn)行初始化 */ {

IO3SET |= 0x0A000000; /*設(shè)置CS,WR默認(rèn)為高電平 */ IO1SET |= 0x00000002; /*設(shè)置RD默認(rèn)為高電平 */ IO2DIR &= 0xFFFFFF00; /* 設(shè)置8位并口為輸入 */ IO0DIR &= 0xFFFEFFFF; /* 設(shè)置INT#為輸入 */ IO3DIR |= 0x0A000001; /*設(shè)置CS,WR,A0默認(rèn)為輸出 */ IO1DIR |= 0x00000002; /*設(shè)置RD默認(rèn)為輸出 */

}

void xWriteCH375Cmd( UINT8 mCmd ) /* 外部定義的被CH375程序庫調(diào)用的子程序,向CH375寫命令 */ { mDelay1_2uS( ); /* 至少延時1uS */ IO2CLR |= 0x000000FF; /* 清并口輸出 */ IO3SET |= 0x00000001; /*輸出A0(P3.0)=1; */ IO2SET |= (UINT32)mCmd; /* 向CH375的并口輸出數(shù)據(jù)*/ IO3DIR |= 0x0A000001; /* 設(shè)置CS,WR,A0為輸出 */ IO1DIR |= 0x00000002; /*設(shè)置RD默認(rèn)為輸出 */ IO2DIR |= 0x000000FF; /*寫操作所以數(shù)據(jù)輸出*/ IO1SET |= 0x00000002; /*RD(P1.1)=1*/ IO3CLR |= 0x0A000000; /* 輸出有效寫控制信號, 寫CH375芯片的命令端口,CS(P3.25)=0; WR=(P3.27)=0;*/ mDelay1_2uS( ); //IO2DIR = IO2DIR; IO2DIR = IO2DIR; /* 該操作無意義,僅作延時,CH375要求讀寫脈沖寬度大于100nS */ //IO3SET = 0x0A000001; /* 輸出無效的控制信號, 完成操作CH375芯片, A0(P3.0)=1; CS(P3.25)=1; WR=(P3.27)=1;*/ //IO1SET = 0x00000002; /*設(shè)置RD(P1.1)=1*/ IO2DIR &= 0xFFFFFF00; /* 禁止數(shù)據(jù)輸出 */ mDelay1_2uS( ); /* 至少延時2uS */ }

void xWriteCH375Data( UINT8 mData ) /* 外部定義的被CH375程序庫調(diào)用的子程序,向CH375寫數(shù)據(jù) */ { mDelay1_2uS( ); /* 至少延時1uS */ IO2CLR |= 0x000000FF; /* 清并口輸出 */ IO2SET |= (UINT32)mData; /* 向CH375的并口輸出數(shù)據(jù)*/ IO2DIR |= 0x000000FF; /*寫操作所以數(shù)據(jù)輸出*/ IO1SET |= 0x00000002; /*RD(P1.1)=1*/ IO3CLR |= 0x0A000001; /* 輸出有效寫控制信號, 寫CH375芯片的命令端口, A0(P3.0)=0; CS(P3.25)=0; WR=(P3.27)=0;*/ mDelay1_2uS( ); /* 至少延時1uS */ //IO2DIR = IO2DIR; IO2DIR = IO2DIR; /* 該操作無意義,僅作延時,CH375要求讀寫脈沖寬度大于100nS */ //IO3SET = 0x0A000000; /* 輸出無效的控制信號, 完成操作CH375芯片, A0(P3.0)=0; CS(P3.25)=1; WR=(P3.27)=1;*/ //IO1SET = 0x00000002; /*設(shè)置RD(P1.1)=1*/ //IO2DIR &= 0xFFFFFF00; /* 禁止數(shù)據(jù)輸出 */ mDelay1_2uS( ); /* 至少延時1uS */ }

UINT8 xReadCH375Data( void ) /* 外部定義的被CH375程序庫調(diào)用的子程序,從CH375讀數(shù)據(jù) */ { UINT8 mData; mDelay1_2uS( ); /* 至少延時1uS */ IO2DIR &= 0xFFFFFF00; /*讀操作所以數(shù)據(jù)輸入*/ IO1CLR |= 0x00000001; /*RD(P1.1)=0*/ IO3CLR |= 0x02000001; //輸出有效讀控制信號, 讀CH375芯片的命令端口, A0(P3.0)=0;CS(P3.25)=0;*/// WR=(P3.27)=1; mDelay1_2uS( ); //IO2DIR = IO2DIR;IO2DIR = IO2DIR; /* 該操作無意義,僅作延時,CH375要求讀寫脈沖寬度大于100nS */ mData = (UINT8)IO2PIN; /* 從CH375的并口P2.0-P2.7輸入數(shù)據(jù) */ //IO3SET = 0x0A000000; /* 輸出無效的控制信號, 完成操作CH375芯片, A0(P3.0)=0; CS(P3.25)=1; WR=(P3.27)=1;*/ return( mData ); }


1 ud+和ud-接反了。 2 若用5v,v3應(yīng)通過一電容接地。 3 用2210的IO口仿總線方式,如何解決IO是輸入或輸出?這點我不肯定。


引用回復(fù):1 ud+和ud-接反了。 2 若用5v,v3應(yīng)通過一電容接地。 3 用2210的IO口仿總線方式,如何解決IO是輸入或輸出?這點我不肯定。

1.UD+/UD-是接反了 2.電壓現(xiàn)在改用3.3V的了 3.2210用IODIR來設(shè)置IO口的方向,0為輸入,1為輸出。


那你的復(fù)位程序就要將TODIR要設(shè)置成0啊


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

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