[求助]初次調(diào)試375,一天了,沒有進(jìn)展,hcn來幫幫我!

單片機(jī):AVR的M8 硬件電路我是按375D1說明上的串口連接方式: 1、 375的RXD、TXD分別與單片機(jī)的TXD、RXD相連 2、 RSTI通過三個并聯(lián)的104瓷片電容接VCC(我沒有0.47uf的電容) 3、 375的INT#和TXD通過2.2K電阻上拉 4、 晶振是普通的12M 我調(diào)用modify_baudrate(0x03,0xcc),這個函數(shù)修改375的波特率,但是單片機(jī)等不到375的返回操作碼,我應(yīng)該從哪個方面查找原因?

串口發(fā)送函數(shù): void CH375_WR_CMD_PORT( uint8 mCmd ) { while (!(UCSRA & (1 << UDRE))); //等待發(fā)送緩沖器為空,為1說明緩沖器為空 UCSRB |= (1 << TXB8); //UDRE可以通過寫UDR清零 UDR = mCmd; // 將數(shù)據(jù)放入緩沖器,發(fā)送數(shù)據(jù) Delay_us(8); }

串口接收: uint8 CH375_RD_DAT_PORT(void) { uint8 rel; uint16 temp; while (!(UCSRA & (1 << RXC))); //等待375的返回操作碼 temp = UDR; rel = (uint8)temp; while (UCSRA & (1 << RXC)); return ( rel ); }

單片機(jī)與375串口通信的話只能用于做主機(jī),并且以9位數(shù)據(jù)進(jìn)行通信,命令和數(shù)據(jù)之間以TXB8來區(qū)分。 你在發(fā)出修改375波特率的命令之后應(yīng)及時調(diào)整自身的通訊波特率。


首先你做下測試命令看通信正常不正常


我現(xiàn)在測試了一下,375發(fā)回來的數(shù)據(jù)不是9位 是10位啊?? 這個是怎么會是呢,我的就是這個原因?qū)е聠纹瑱C(jī)接收不到中斷。我的是3。3V供電的。


數(shù)據(jù)的返回只有在你的命令發(fā)下去之后以及375正確的接收到數(shù)據(jù)之后才會給你返回?cái)?shù)據(jù),按照你說的已經(jīng)正確返回0XAA的話,在說返回10位數(shù)據(jù),那就要仔細(xì)的檢查下你的串口的配置之類的


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

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