微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 蓝牙一对二传输断开问题

蓝牙一对二传输断开问题

时间:10-02 整理:3721RD 点击:

蓝牙主节点连上两个从节点,其中一个从节点向主节点传输数据,然后主节点把数据通过串口传给arm,arm处理后再传回主节点,主节点再发给另外一个从节点,但是在最后这个过程中传几个数据后蓝牙就会自动断开,请问是什么原因呢?

static void simpleBLEPeripheral_HandleSerial(mtOSALSerialData_t *cmdMsg)
{
  
  uint8 i,len,*str=NULL;  //len有用数据长度
  uint8 CMD;
  str=cmdMsg->msg;        //指向数据开头
  len=*str;               //msg里的第1个字节代表后面的数据长度
  
  
  if ( ( simpleBLEState == BLE_STATE_CONNECTED  ) && ( simpleBLECharHd6 != 0 ) ) //写char6
  {
    uint8 ValueBuf[SIMPLEPROFILE_CHAR6_LEN];
      
   
    for(i=0;i<len;i++)
      ValueBuf[i] = str[i+1];
    
    attWriteReq_t req;
    
    req.handle = 0x0035;
    req.len = SIMPLEPROFILE_CHAR6_LEN;
    
    //req.offset = 0;
    req.sig = 0;
    req.cmd = 0;

  osal_memcpy(req.value,ValueBuf,SIMPLEPROFILE_CHAR6_LEN);
    GATT_WriteCharValue( ShangweiConnectHandle, &req, simpleBLETaskId ); 
}

chi zhang5,

你用的是2640吗?如果是2640,最好交给task去处理数据发送。

另外,要确保connection handle和attribute handle的正确性。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top