描述:
            各位大神,小弟想写一个PIC18F46K22的串口程序,目标是通过串口住手输入数值,单片机把得到的值返回回来。用的晶振是12M,捣鼓了两天了就是不对,对照手册把各个参数也设置了也还是不对,望给位大神指导一下吧。
    #include <pic18f46k22.h> 
 #pragma config  FOSC=HSMP,PLLCFG=ON,PRICLKEN = OFF,FCMEN = OFF,IESO  = OFF,PWRTEN = ON,BOREN = SBORDIS,WDTEN = OFF,MCLRE = EXTMCLR 
 #define uchar unsigned char 
 #define uint unsigned int   
   void main(void) 
     {      
           ANSELC=0;     
           TRISC=0xff;    
            
            BAUDCON1bits.BRG16=0;   
            RCSTA1bits.SPEN = 1;/*使能串口(将RX和TX引脚配置为串口引脚)*/ 
            TXSTA1bits.SYNC = 0;/*异步模式*/  
            SPBRG1 =77;   //我这里选择的是8位高速的,12000000/16/9600-1=77。要是把BRGH换为0,12000000/9600/64-1=18,但是结果也不对,不知到是不是我理解错了。
           
            TXSTA1bits.BRGH= 1;/*速度模式:高速*/ 
             RCSTA1bits.CREN  = 1;/*接收使能*/  
            TXSTA1bits.TXEN  = 1;/*发送使能*/   
            
          
       while(1)
           {     
              if (PIR1bits.RC1IF==1) 
                 { 
                   TXREG1=RCREG1;  
                 }
               
           } 
   }

