急求CH375與單片機(jī)串行接法的初始化程序!!!

急求CH375與單片機(jī)串行接法的初始化程序!!!

89C51 串口波特率為9600bps 串口工作在工作方式3

只要能寫CHECK_EXIST命令后,能返回正確的數(shù)據(jù)即可.

我的開發(fā)環(huán)境有限,只想知道自己接的CH375能否與單片機(jī)正常通信,首先能排除硬件上的問題.我在這里卡了很久了,不是我懶,只是想?yún)⒖家幌?希望好心人能幫忙一下!

void mInitSTDIO( ) { SCON = 0x50; PCON = 0x80; TMOD = 0x20; TH1 = 0xf3; /* 24MHz晶振, 9600bps */ TR1 = 1; TI = 0; } void CH375_PORT_INIT( ) { SCON = 0xD0; //設(shè)置串口為9位數(shù)據(jù) //設(shè)置波特率和其它串口參數(shù) }

void xWriteCH375Cmd( UINT8 mCmd ) { TI = 0; TB8 = 1; SBUF = mCmd; while ( TI == 0 ); }

void xWriteCH375Data( UINT8 mData ) { TI = 0; TB8 = 0; SBUF = mData; while ( TI == 0 ); }

UINT8 xReadCH375Data( void ) { while ( RI == 0 ); RI = 0; return( SBUF ); }


一開始要不要對CH375設(shè)置工作模式? 可以寫出一個CHECK_EXIST命令的使用嗎?我就不知道在用這命令之前要不要設(shè)置什么


不要對375設(shè)置模式的,測試命令是檢查硬件有沒有問題,只有測試命令通過之后再對375設(shè)置模式讓其工作在主機(jī)方式或設(shè)備方式,模式才能設(shè)置成功.


#include #include

#define GET_STATUS 0x22 #define CHECK_EXIST 0x06 #define RESET_ALL 0x05

void CH375Init(void); void w_Cmd(unsigned char cmd); void w_Data(unsigned char mData); unsigned char r_Data(void); void Delay1s(void); void delay40ms(void);

void main(void) { unsigned char data temp;

Delay1s();

CH375Init(); w_Cmd(CHECK_EXIST); _nop_(); w_Data(0xaa); _nop_(); _nop_(); temp= r_Data(); P1= temp; while(1); }

void CH375Init(void) { delay40ms(); EA= 0; SCON= 0xd0; //′??ú1¤×÷·?ê?3 ES= 0; PCON= 0x00; //SMOD= 0

TMOD= 0x20; //?¨ê±?÷11¤×÷·?ê?2 TH1= 0xfd; TL1= 0xfd;

IT0= 1; //ía2??D??03?ê??ˉ EX0= 0;

ET1= 0; //?¨ê±?÷1?D??1? TR1= 1; //???ˉ?¨ê±?÷1 EA= 0; }

void w_Cmd(unsigned char cmd) { TI = 0; TB8 = 1; SBUF = cmd; _nop_(); _nop_(); _nop_(); _nop_(); while ( TI == 0 ); }

void w_Data(unsigned char mData) { TI = 0; TB8 = 0; SBUF = mData; _nop_(); _nop_(); _nop_(); _nop_(); while ( TI == 0 ); }

unsigned char r_Data(void) { _nop_(); _nop_(); _nop_(); _nop_(); while(RI==0); RI= 0; return SBUF; }

void Delay1s(void) { unsigned char i; i= 0xf0; while(i){i--;} }

void delay40ms(void) { long i; i= 0x9c40; while(i){i--;} }

這樣的測試命令的程序有錯嗎?發(fā)出命令和數(shù)據(jù)后,單片機(jī)沒收到CH375發(fā)來的測試數(shù)據(jù) 原理圖如下,我把CS#也接了地,INT#接了單片機(jī)的INT0 chuck20050810091528%5B1%5D.jpg


串口通信只要接3跟線就可以了,TXD,RXD,INT,具體的接線可以參考CH375DS1上的接線圖,程序上沒有什么問題,可以給延時減少些看看,可以先測下單片機(jī)的串口是不是正常工作了.


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

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