[求助]TXD引腳不接地,375就默認(rèn)是串口,不需要在程序里配置,是這樣嗎?

如果TXD引腳不接地,375就默認(rèn)是串口,不需要在程序里配置,是這樣嗎? 還有我想問(wèn)問(wèn)375的連接電容、電阻是不是一定要嚴(yán)格按說(shuō)明上的大小?

unsigned char set_usb_mode( unsigned char mode ) /* 設(shè)置CH37X的工作模式 */ { unsigned char i; CH375_WR_CMD_PORT( CMD_SET_USB_MODE ); CH375_WR_DAT_PORT( mode ); endp6_mode=endp7_mode=0x80; /* 主機(jī)端復(fù)位USB數(shù)據(jù)同步標(biāo)志 */ for( i=0; i!=100; i++ ) { /* 等待設(shè)置模式操作完成,不超過(guò)30uS */ if ( CH375_RD_DAT_PORT()==CMD_RET_SUCCESS ) return( TRUE ); /* 成功 */ } return( FALSE ); /* CH375出錯(cuò),例如芯片型號(hào)錯(cuò)或者處于串口方式或者不支持 */ } 這段程序我是在貴公司一個(gè)C文件看到的,文件名是:ch375_host_int_ser.C。 我不懂的是“數(shù)據(jù)同步標(biāo)志”這個(gè)地方,數(shù)據(jù)同步標(biāo)志作什么用的? 還有最后一句注釋我也不明白,為什么處于串口方式375會(huì)出錯(cuò),是不是注釋寫錯(cuò)了,應(yīng)該是處于并口方式會(huì)出錯(cuò)吧

void set_freq(unsigned char freq) { CH375_WR_CMD_PORT( CMD_SET_SYS_FREQ ); /* 設(shè)置系統(tǒng)工作頻率 */ CH375_WR_DAT_PORT( freq ); delayms(10); } 還有這段程序,這個(gè)系統(tǒng)工作頻率我在375的datasheet中沒(méi)找到,不知道是做什么的

我現(xiàn)在是想用單片機(jī)通過(guò)375控制鼠標(biāo)的,是不是就要把12M的晶振換成1.5M的,

TXD不接地的話,那么375就默認(rèn)的工作在串口方式下,程序里面不需要配置,連接的電容不需要按照說(shuō)明上的去接,前提是你的芯片要正常工作,但是建議這樣去接,上面的同步標(biāo)志你可以去參考USB協(xié)議或者去參考CH375DS1,里面有介紹,而下面的程序是降主頻率的命令,將375的工作頻率降為1。5M,如果要操作USB鼠標(biāo)的話,那么你就需要降主頻率,同時(shí)375的USB口的UD+,UD-和USB口的UD-,UD+相連接


也就是說(shuō)不需要把12M晶振換成1.5M是嗎,只在程序里配置就行是嗎? hcn,還有個(gè)問(wèn)題,我有一個(gè)是程序文件名是ch375_host_int_ser.C,在程序開頭定了#define TEST_LOW_SPEED 1 這句,我看不明白,還有這段:

#ifdef TEST_LOW_SPEED set_freq(0x01); //work in 1.5M /* 設(shè)置系統(tǒng)工作頻率 */ delayms(5); TR1 = 0; TH1 = 0xf8; /* 22.1184MHz晶振, 115200bps 修改波特率為14400*/ TR1 = 1;

這里為什么又要修改單片機(jī)的波特率呢


hcn,我需要你的幫助


下面的程序是用來(lái)設(shè)置和375相同的撥特率的


可是單片機(jī)的波特率已經(jīng)在這段函數(shù)中改了啊: unsigned char modify_baudrate(unsigned char div1,unsigned char div2) { CH375_WR_CMD_PORT( CMD_SET_BAUDRATE ); //向CH375的命令端口寫入命令,周期不小于4uS, CH375_WR_DAT_PORT(div1); //分頻系數(shù) CH375_WR_DAT_PORT(div2); //分頻常數(shù)

TR1 = 0; TH1 = 0xff; /*把單片機(jī)的波特率改為 22.1184MHz晶振, 115200bps */ TR1 = 1;

delayms(2); //返回操作結(jié)果碼,成功51H if ( CH375_RD_DAT_PORT()==CMD_RET_SUCCESS ) return(1); else return(0); }

這有前兩個(gè)問(wèn)題你沒(méi)有回答我呢,謝謝了


前面的宏定義只是為了說(shuō)明如果是低速設(shè)備,那么將375的主頻降為1。5M,如果不是低速設(shè)備,那么就不降主頻,還有就是375在操作低速設(shè)備的時(shí)候,晶振還是要上12M,其次就是你上面提到的modify_baudrate()這個(gè)設(shè)置波特率實(shí)際上是在一開始對(duì)375初始化的時(shí)候波特率的設(shè)置,這個(gè)時(shí)候你可以不設(shè)置波特率,默認(rèn)通信的波特率是9600,在設(shè)置好模式之后,那么,認(rèn)為操作的是低速設(shè)備的話,那么,就降主頻,那么降主頻導(dǎo)致的結(jié)果是375內(nèi)部的波特率發(fā)生改變,從而和單片機(jī)這邊的通信就會(huì)不正常,所以要將單片機(jī)的波特率改為將375主頻降低了之后的波特率來(lái)通信,也就是例子程序里面的14400的波特率


降主頻這個(gè)說(shuō)明在哪個(gè)文檔有,我沒(méi)有找到啊, 還有就是375默認(rèn)波特率是9600,怎么降了主頻后波特率反而高了呢,哪個(gè)文檔有這方面的介紹


降主頻在說(shuō)明文檔里面好象沒(méi)有怎么說(shuō)明,還有就是前面沒(méi)有說(shuō)開始的通信波特率是9600,而是上來(lái)就將波特率改為了115200了啊,仔細(xì)看程序流程


但是375降主頻后,它的波特率是如何改變的呢,是不是就升高到14400不變了,還有其它值嗎


前面在375主頻是12M時(shí)設(shè)了波特率為115200了,將375的主頻降到1.5M時(shí),也就相應(yīng)的將波特率降到了14400了(也就是原來(lái)的主頻除以8)。 除了常用的波特率外,你想取其他值的話,你可以參考375說(shuō)明書“5.5. 命令SET_BAUDRATE”進(jìn)行自行修改。


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

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