單片機(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 ); }