修改代码进阶

本文探讨了BM77模块的通信机制,特别是在遇到00LOSE反馈时如何通过调用bm77_normal_mode()函数来恢复正常工作状态,避免直接复位带来的封装性破坏。

uint8_t bm77_write_msg(uint8_t *ptAddr , uint8_t *ptSenddata , uint8_t uLegnth , uint16_t dHandle)
{
    serial.puts(bm77_port , ptSenddata , uLegnth);
    //if(memcmp(ptSenddata,"SUCCSUCC" , 8)==0 && memcmp(ptSenddata+8+56,"PSUCC" , 5)==0)
   // {
    // printf("BM77反馈开门成功报文,复位一次\n");
    // bm77_resert();
    //bm77_set_default();
    //bm77_init();
  //  }
#if 1   
    if(memcmp(ptSenddata,"00LOSE",6)==0 )
   {
     printf("BM77发送 00LOSE 再次切换bm77_normal_mode\n");
     //bm77_resert();//直接复位
     
     bm77_normal_mode();
     
     
    // bm77_cmd_mode(); //问题复现:ble消失了
   }
#endif   
    return BLE_OK;
}

 

在发送这个消息的时候 复位一次

这样会破坏这个单元的封装性!!!

 

从上层着手吧。

BM77是实例的函数,0906就是空函数。

完成功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值