用的T5L1套料,板子重新画的,其他功能测试过都正常 但是串口4配置后还是通信不了,很奇怪 配置后循环只执行1s发送一串数据, 示波器看管脚没反应,TX4是维持3.3v,RX4是维持0v 麻烦用过大佬帮忙看下配置哪里有问题,谢谢 void uart_init(u32 baud) { SCON2T=0x80; SCON2R=0x80; baud = (u16)(3225600.0f/baud); BODE2_DIV_H=(baud>>8)&0xff; BODE2_DIV_L = baud&0xff; ES2R=1; ES2T=1;
EA = 1; } u8 com_send=0; //发送一个字节 void send_byte(u8 byte) { SBUF2_TX=byte; com_send=1; while(com_send); } //发送数据 void send_bytes(u8 *bytes,u16 len) { u16 i; for(i=0;i<len;i++) { SBUF2_TX=bytes; com_send=1; while(com_send); } } void UART4_R(void) interrupt 11 { Com4_rx[rx_num]= SBUF2_RX; SCON2R &=0xfe; if(++rx_num==100) rx_num=0; } void UART4_T(void) interrupt 10 { SCON2T &=0xfe; com_send=0; } |