打印

PIC18F66I60 UART问题

[复制链接]
1616|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hlfhlf|  楼主 | 2012-5-13 15:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本人最近在做一个基于PIC18F66J60的以太网转串口的的毕设。调试过程中出现几个问题,求大神解答下啊。。不甚感激啊。。。
问题如下:
  我用串口调试助手向串口发送数据,在程序中的中断服务程序中设置了断点;那么,正常情况下。程序应该是会跳到断点处,但是程序却没有反应。。。。
  第二是,我观察到TXREG1中有数据了,但是串口助手上却没有显示。。。
本人怀疑是串口的问题,但是检查了几遍代码。不知道问题出现在哪里。。求解释啊。。
硬件初始化代码:
static void InitializeBoard(void)
{
        OSCTUNEbits.PPRE =0;                // PLL Prescaler Configuration       OSCTUNEbits.PPST0 = 0;
    OSCTUNEbits.PPST1 = 0;
    OSCTUNEbits.PLLEN = 1;              //enable PLL ;        

    // UART IO
    UART1TX_TRIS = 0; // output   (TRISCbits.TRISC6)
    UART1RX_TRIS = 1; // input      


RCSTA1bits.SPEN = 0;// disable uart commutation
    TXSTA1bits.SYNC = 0;    // asynchronous mode
    TXSTA1bits.BRGH = 1;    // high speed
BAUDCON1bits.BRG16 = 1; // 16bits
    RCSTA1bits.CREN = 1;    // enable receive
    TXSTA1bits.TXEN = 1;    // tx enable
    // EUSART1 rx int enable
    IPR1bits.RC1IP = 1;             // high priority
    PIE1bits.RC1IE = 1;             // enable
    // EUSART1 tx int enable
    IPR1bits.TX1IP = 1;             // high priority
    PIE1bits.TX1IE = 0;             // disable
// Enable Interrupts
RCONbits.IPEN = 1;  // Enable interrupt priorities
    INTCONbits.GIEH = 1;
    INTCONbits.GIEL = 1;
}
串口初始化
void UART_Init(BYTE Baud)
{
RCSTA1bits.SPEN = 0;// disable uart commutation
//calculate baud rate
SPBRGH1 = (BYTE)((UART_BAUD_TBL[Baud][1] & 0xFF00 )>>8);
SPBRG1 =  (BYTE)(UART_BAUD_TBL[Baud][1] & 0x00FF );
//enable uart
RCSTA1bits.SPEN = 1;//Enable uart commutation
  }

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

3

帖子

0

粉丝