TI中文支持网
TI专业的中文技术问题搜集分享网站

cc2530-2.3.0-1.4.0 SerialApp例程串口只能收不能发的问题

如题 cc2530-2.3.0-1.4.0 的SerialApp例程设置为LOOPBACK,即CC2530收到的串口信息回发到PC。
1.调试发现CC2530能收到串口信息,但是没有信息发送到PC。
2.如果我将上述接收到的信息这样发送:
    for(j = 0; j < SerialApp_TxLen; j++)
    {
        U0DBUF = SerialApp_TxBuf[1 + j];
        while(UTX0IF == 0) ;
        UTX0IF = 0;
    }      发现UTX0IF一直为0,也就是发不了串口信息。
  请问是什么原因呢?谢谢。

VV:

发送函数没什么问题,具体看一下你的关于串口的寄存器配置。

 void Bsp_UartInit(void){    PERCFG &= ~BSP_UART_PERCFG_BIT;    //位置1 P0口P0.2 P0.3    PxSEL |= BSP_UART_Px_RX_TX;     //P0用作串口    APCFG &= ~BSP_UART_Px_RX_TX;    //ADC没有用到这几个口

    UxCSR |= CSR_MODE;             //UART方式    IEN0 |= 0x80;                 //开总中断,接收中断}

void Bsp_UartOpen(uint8_t baudRate,uint8_t flowcontrol){    if (baudRate == BSP_UART_BAUDRATE_57600 ||        baudRate == BSP_UART_BAUDRATE_115200)    {      UxBAUD = 216;    }    else    {      UxBAUD = 59;    }        switch (baudRate)    {      case BSP_UART_BAUDRATE_9600:        UxGCR = 8;        break;      case BSP_UART_BAUDRATE_19200:        UxGCR = 9;        break;      case BSP_UART_BAUDRATE_38400:          case BSP_UART_BAUDRATE_57600:        UxGCR = 10;        break;      default:        UxGCR = 11;        break;    }      // 8 bits/char; no parity; 1 stop bit; stop bit hi.    if (flowcontrol)    {      UxUCR = UCR_FLOW | UCR_STOP;//流控制使能      PxSEL |= BSP_UART_Px_RTS | BSP_UART_Px_CTS;//握手    }    else    {      UxUCR = UCR_STOP;    }    UxCSR |= CSR_RE;//允许接受    URXxIE = 1; //中断使能    UTXxIF = 1;  // Prime the ISR pump.}

YE YE:

回复 VV:

找到问题了,例程里打开了流控。

赞(0)
未经允许不得转载:TI中文支持网 » cc2530-2.3.0-1.4.0 SerialApp例程串口只能收不能发的问题
分享到: 更多 (0)