|
初始化如下<br />PCON=0x80; <br /><br />RCLK=1;<br />TCLK = 1;<br /> <br />S1STAT = 0x20 ; <br /><br />S1CON = 0x00 ; <br />REN_1 = 1 ; <br /><br />SM0_1 = 0 ;<br />SM1_1 = 1 ; <br />SM0_0 = 0 ;<br />SM1_0 = 1 ; <br /><br />BRGCON = 0X00 ; <br />BRGR1=0x04; // 11.0592*1000000/9600-16<br />BRGR0=0x70;<br />BRGCON = 0X03 ; <br /><br />ES1R = 1; <br />EA = 1 ; <br />TI_1 = 1 ; <br />TI_0 =1;<br /><br /><br />串口发送如下<br /> <br />void Uart1SendCrt( unsigned char ch )<br />{<br />S1BUF = ch ;<br />while(!TI_1) ;<br />TI_1 = 0 ;<br />}<br /><br /> void Uart0SendCrt(unsigned char ch)<br />{<br /><br />S0BUF=ch;<br />while(TI_0==0);<br />TI_0=0;<br />}<br /><br />问题是当单个串口发送数据能成功<br /> while(1)<br /> {<br /> Uart1SendCrt(0x22);//发送字符<br /> }<br /><br /><br />两个串口一起就不行了<br />而且接收不到数据<br /><br /> while(1)<br /> {<br /> <br /> Uart1SendCrt(0x22);//发送字符<br /> Str = S1BUF; <br /> RI_1 = 0; <br /> Uart0SendCrt(Str );<br /> }<br /><br /><br />请问是我程序哪有问题?<br />还是哪边设置不正确?? |
|