STM32+CH376+并口

數(shù)據(jù)線用的是STM32 D0-D7(上面還有SDRM,LCD等) A0和CS用的GPIO口 RD、WD等掛載在STM32的讀寫信號線上。

#define OUTADDR4 (*((volatile INT8U *) 0x60500000))

void xWriteCH376Cmd(unsigned char CMD) { OUTADDR4=CMD; USB1_A_1; USB1_CS_0; delay_us(25); USB1_CS_1; USB1_A_0;

delay_us(20);

}

void xWriteCH376Data(unsigned char dat) { OUTADDR4=dat; USB1_A_0; USB1_CS_0; delay_us(25); USB1_CS_1; delay_us(20); }

unsigned char xReadCH376Data() { unsigned char i=0;

USB1_A_0; USB1_CS_0; delay_us(50); i=OUTADDR4; delay_us(20); USB1_CS_1;

return i; }

unsigned char xReadCH376Status() { unsigned char i=0;

USB1_A_1; USB1_CS_0; delay_us(50); i=OUTADDR4; delay_us(20); USB1_CS_1; USB1_A_0;

return i; }

unsigned char CH375_Init(void) { unsigned char i=0xff;

xWriteCH376Cmd(0x06); xWriteCH376Data(0x55); i=xReadCH376Data(); return i; }

我想當(dāng)我向OUTADDR4寫數(shù)據(jù)的時候,數(shù)據(jù)線上出現(xiàn)數(shù)據(jù),我片選打開CH376,數(shù)據(jù)就可以進去了,讀的時候也是這樣,因此我沒有控制CH376的讀寫信號線。OUTADDR4這個地址隨便一個地址,只要我系統(tǒng)中其它地方?jīng)]有使用即可。

但是現(xiàn)在CH375_Init()函數(shù)的返回值是0xFF,就是讀不出正確的值,不知道什么問題?我的上述理解有問題嗎?

這個應(yīng)該是你時序上的問題,測試命令沒有通過返回0xFF。讀寫數(shù)據(jù)你都成功了,那你寫命令數(shù)據(jù)線上有數(shù)據(jù)嗎?另外,選擇并口模式TXD=0。


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

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