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

新人新手求一个详细一点的cc2541有协议栈的uart串口例子

基于1.3和1.4的协议栈

主要是自己根据网络上的一些例子可以实现协议栈下的串口数据的收发,但是我想实现的是在cc2541里面可以判断从串口接收到的数据是不是我要的,如果是就再显示到pc或mcu上,我用下面程序怎么就实现不了,请问大家该如何做,是缺少什么呢?

static void rxCB(uint8 port,uint8 events)
{
  unsigned char RxBuf[128];
  if((events & HAL_UART_TX_EMPTY)||( events & HAL_UART_TX_FULL ))  // 发送区满或者空
   {
        return;
     
   }
  NPI_ReadTransport( RxBuf, sizeof(RxBuf) );
  if(osal_memcmp(RxBuf,"TESTUART",sizeof(RxBuf)))
  {
    NPI_WriteTransport(RxBuf,sizeof(RxBuf));
    osal_memset(RxBuf,0,sizeof(RxBuf));
  }

}

我是新手,请大家指导!谢谢

Viki Shi:

http://www.ti.com/lit/sw/swrc257/swrc257.zip这个链接里有UART的example

zulin wu:

回复 Viki Shi:

Viki Shi

http://www.ti.com/lit/sw/swrc257/swrc257.zip这个链接里有UART的example

zulin wu:

回复 zulin wu:

这个问题暂时解决了,但是我不知道原因,如下

static void rxCB(uint8 port,uint8 event){  (void)port;//  uint16 temp;  unsigned char rxBuf[128];  //HalUARTRead(0,uartbuf,sizeof("UartInit OK\n"));  if(event&HAL_UART_RX_TIMEOUT)  {        temp=Hal_UART_RxBufLen( port );    if(temp>0)    {      HalUARTRead(0,rxBuf,temp);      if(osal_memcmp(rxBuf,"UART OK?",temp))      {                HalUARTWrite(0,"YES",sizeof("OKE"));        //HalUARTWrite(0,rxBuf,sizeof(rxBuf));  //这句不行      }    }  }

请教各位用标注了的这句就会出现很严重的数据丢失,这是为什么呢?

赞(0)
未经允许不得转载:TI中文支持网 » 新人新手求一个详细一点的cc2541有协议栈的uart串口例子
分享到: 更多 (0)