| 
 
| 我是初学PIC。<br />要做一个采集卡。<br />其中有串口,USB。<br /><br />现在的问题是串口的设置问题。(由于手上没有ICD2)<br />暂时只有软件仿真。<br /><br />请大家帮我看一下,这个程序有没有错。<br /><br />********************************************************<br />* 功能描述:系统初始化                            *<br />*                                                     *<br />* 输入参数:                                            *<br />* 返回参数:无                                          *<br />*********************************************************/<br />void system_init(void)<br />{<br />    INTCONbits.GIE = False;         //关中断<br />    //特殊功能寄存器设置<br />    //TRISC = 0b00000000;             //设端口RC7,RC6为输出<br />    TRISCbits.TRISC6 = 1;           //RX<br />    TRISCbits.TRISC7 = 0;           //TX<br />    /////////////////////////////////////////////////////<br />    //串口设定<br />    SPBRG = 0x81;    //晶振20M时波特率:9600<br />    <br />    //接收数据寄存器器设置<br />    RCSTA = 0x00;<br />    RCSTAbits.CREN = True;            //打开连续接收<br />    PIE1bits.RCIE = True;            //中断方式接收<br />    PIR1bits.RCIF = False;            //中断位清0<br />    <br />    //发送接收数据寄存器器设置<br />    TXSTA = 0x00;<br />    TXSTA = 0x20;//SYNC=0;BRGH=0;位必须设为0及异步波特率为低速模式<br />    <br />    <br />    //使能串口<br />    RCSTAbits.SPEN = True;      //打开串口<br />        <br />    INTCONbits.PEIE = True;   //允许所有关未屏蔽的外围中断<br />    INTCONbits.GIE = True;    //开中断<br />/////////////////////////////////////////////////////////<br />}<br /><br /><br /><br />/********************************************************<br />* 功能描述:从串行口发送n个字符                   *<br />*                                                     *<br />* 输入参数:要发送字符的首地址和字符个数                *<br />* 返回参数:无                                          *<br />*********************************************************/<br />void SendNumChar(unsigned char *SendAddr, unsigned char Num)<br />{<br />     for(; Num > 0; Num--)<br />     {<br />        TXREG = *SendAddr;<br />        SendAddr++;                   <br />        while(!PIR1bits.TXIF);<br />        PIR1bits.TXIF = 0;          //未发送完毕,等待<br />    }<br />}<br /><br /><br /> | 
 |