打印
[蓝牙芯片]

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

[复制链接]
1937|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 1斯蒂芬 于 2021-4-27 16:09 编辑

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



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




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


使用特权

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

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



使用特权

评论回复
评论
1斯蒂芬 2021-4-28 10:50 回复TA
代码放下面了 
板凳
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协议栈发送在忙, 从而导致主机发起查询请求失败

使用特权

评论回复
5
SwaveYu| | 2021-5-4 14:27 | 只看该作者
1斯蒂芬 发表于 2021-4-28 16:20
问题解决了,厂商的大佬帮我解决了
原因是因为我蓝牙断开的时候主机发送的那个事件还是一直在跑,导致ble协 ...

想请问一下怎么联系厂商的大佬

使用特权

评论回复
6
Taoyukai| | 2021-5-5 20:36 | 只看该作者
SwaveYu 发表于 2021-5-4 14:27
想请问一下怎么联系厂商的大佬

http://www.wch.cn/services/technical_support.html
官网有技术支持的联系方式

使用特权

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

本版积分规则

5

主题

25

帖子

1

粉丝