5325B芯片设置一直回连

在config.h中设置掉线回连次数为0xff时不一定会一直回连,所以要手动进行设置

#define BT_TIME_OUT_RECONNECT_TIMES     0xff  //掉线回连次数

首先创建标志位
bsp_bt.h下
这个标志位用来判断有没有处于掉线状态

 u8 cnt1;

然后在plugin.h下
这个标志位用来计时

u16 plugin_tmr5ms_cnt;

在掉线时将cnt1置1,连接时置0。即在bsp_bt.c中操作,
void bt_emit_notice(uint evt, u32 param),这个函数是处理底层发给应用层的消息

         case BT_NOTICE_LOSTCONNECT:
          cnt1=1;
          printf("cnt1= 1\n");
        break;

func_bt_disp_status()中

        case BT_STA_CONNECTED:
             cnt1=0;

在bsp_key.h下定义一个事件

#define EVT_5000MS_RECON         0x7e3//0x7e3是从前面顺延下来的

然后在plugin.c下的5ms中断进行处理
每5s发一次消息,进行回连

AT(.com_text.plugin)
void plugin_tmr5ms_isr(void)
{
    plugin_tmr5ms_cnt++;
  if ((plugin_tmr5ms_cnt % 1000) == 0) {
            if(cnt1==1){
              msg_enqueue(EVT_5000MS_RECON);
              printf("lost\n");
          }
        }
}

在func_message()中添加

        case EVT_5000MS_RECON:
            bt_connect();  //回连函数
            break;
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值