[蓝牙芯片] CH579蓝牙连接上了然后断开重新连接就会出现问题

[复制链接]
 楼主| 1斯蒂芬 发表于 2021-4-27 16:08 | 显示全部楼层 |阅读模式
本帖最后由 1斯蒂芬 于 2021-4-27 16:09 编辑

当我蓝牙第一次连接上时候是这样没有问题

43486087c6ba7635a.png

但是蓝牙断开了重新连接以后主机就会出现问题,串口打印出来是 write Error :1


109316087c6c4682ac.png

请问下这是什么原因,我该如何解决


kingsleych 发表于 2021-4-27 23:12 | 显示全部楼层
如果要获取社区的帮助,还是需要更详细的 步骤, 做了什么改了什么,用的什么代码,哪里什么时候下的等等的详细信息.
只是丢个两个图这些,想必很多网友跟我一样,一脸蒙,  除非很熟悉很熟悉,并且犯过同样错误的人.  
如果作为芯片公司能把把每个case都能catch到,那这世上还会有那么多难用的芯片吗.

如果实在不想描述,直接找官方人员,  试试让他们问,你来答,,好像好周折,



评论

代码放下面了  发表于 2021-4-28 10:50
 楼主| 1斯蒂芬 发表于 2021-4-28 10:50 | 显示全部楼层
static char BLE_SEND_BUF[30] = {0};
static void BLE_SEND_DAT(const char *buf,u32 len)
{
    //设置为写
    centralDoWrite = 1;
    tmos_memset(BLE_SEND_BUF,0,30);
    tmos_memcpy(BLE_SEND_BUF,buf,len);
    //tmos_start_task( centralTaskId, START_READ_OR_WRITE_EVT, DEFAULT_READ_OR_WRITE_DELAY);
    if( centralProcedureInProgress == FALSE )
    {
      //if( centralDoWrite )
      {
        // Do a write
        attWriteReq_t req;
        
        req.cmd = FALSE;
        req.sig = FALSE;
        req.handle = centralCharHdl;
        req.len = 25;
        req.pValue = GATT_bm_alloc(centralConnHandle,ATT_WRITE_REQ,req.len,NULL,0);
        if ( req.pValue != NULL )
        {
          //*req.pValue = centralCharVal;
          tmos_memcpy(req.pValue,BLE_SEND_BUF,req.len);
          if( GATT_WriteCharValue(centralConnHandle,&req,centralTaskId) == SUCCESS )
          {      
            centralProcedureInProgress = TRUE;
            //centralDoWrite = !centralDoWrite;
            //tmos_start_task( centralTaskId, START_READ_OR_WRITE_EVT, DEFAULT_READ_OR_WRITE_DELAY);
          }
          else
          {
            GATT_bm_free((gattMsg_t *)&req, ATT_WRITE_REQ);
          }
        }
      }
    }
}

这是我自己写的主机发送的函数,我发现把它注释了就没有问题,不知道这个函数哪里有问题,还请指教
 楼主| 1斯蒂芬 发表于 2021-4-28 16:20 | 显示全部楼层
问题解决了,厂商的大佬帮我解决了
原因是因为我蓝牙断开的时候主机发送的那个事件还是一直在跑,导致ble协议栈发送在忙, 从而导致主机发起查询请求失败
SwaveYu 发表于 2021-5-4 14:27 | 显示全部楼层
1斯蒂芬 发表于 2021-4-28 16:20
问题解决了,厂商的大佬帮我解决了
原因是因为我蓝牙断开的时候主机发送的那个事件还是一直在跑,导致ble协 ...

想请问一下怎么联系厂商的大佬
Taoyukai 发表于 2021-5-5 20:36 | 显示全部楼层
SwaveYu 发表于 2021-5-4 14:27
想请问一下怎么联系厂商的大佬

http://www.wch.cn/services/technical_support.html
官网有技术支持的联系方式
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

25

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部

5

主题

25

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部