iot-fan

联系: iotfan123#163.com
注意:
1,本博客之内容来源于网上收集以及相关技术人员提供,如果有侵犯到您的权益,请电邮我沟通;
2,本博客之内容乃分享,交流,学习,研究之目的,作者不对内容的真实性,有效性,及时性负责,也不对因本博客的任何内容导致的任何后果负责;
3,本博客之内容禁止转发到CSDN网站,转到别的网站请保留出处.

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

本文目的

  • 获取协议栈的部分运行信息,包括不仅限于
    1.BLE建立连接时候的同步字
    2.BLE建立连接时候CRC init值
    3.BLE连接后的数据包重发率和接收率
    4.收发器的AFC校准结果(与对方通信的相对频率偏差)

本文适用芯片

  • wch 全系列蓝牙芯片(请确保使用最新的蓝牙协议栈)

实现

1.将下面代码拷贝到HAL>MCU.c 文件内

/****ble lib status start************************/
#define WCH_BLE_PRIVATE_LIB_STATUS  (1UL<<1)

void wch_ble_private_set(uint32_t code,uint8_t enable) {
    extern uint32_t  llRecvDataDisable;
    if(enable) {
        llRecvDataDisable |= code;
    }else {
        llRecvDataDisable &= ~code;
    }
}

uint8_t hse_get_cap(void) {
#ifdef CH32V20x_D8W
    return (OSC->HSE_CAL_CTRL>>28)&0x7;
#else 
    return (R8_XT32M_TUNE>>4);
#endif
}

void wch_ble_lib_status_callback( uint8_t code, uint32_t status ) {
    //PRINT("ble lib status callback \n");

    static uint32_t trx,crc;
    static int16_t cfo;
    static int8_t rssi;
    switch(code) {
    case 9:  //trx
        trx = status;
        break;
    case 10: //crc
        crc = status;
        break;
    case 11: //cfo
        cfo = (int16_t )status;
        break;
    case 12: //rssi
        rssi = (int8_t )status;
        PRINT("%u|%u\t%u\t%d|%x\t%d\r\n",trx>>16,100-(trx&0xffff),crc,cfo,hse_get_cap(),rssi);
        break;
    case 13: //access code
        PRINT("ACCESS CODE:%08X\n",status);
        break;
    case 14: //
        PRINT("CRC INIT   :%X\n", status );
        break;
    case 15:
    case 16:
    case 17:
    default:
        PRINT("code:%08x|%u  ,status:%08x|%u \n",code,code,status,status);
        break;
    }
}

2.在初协议栈初始化结构体中,加入

    cfg.staCB = wch_ble_lib_status_callback;

3.主循环前调用函数wch_ble_private_set(1<<1,1);

打印数据说明

//发包重试|接收包的成功率    crc出错的数量,   无线收发器频率校准误差|HSE电容配置   对方信号的的rssi
//       0|100             0                                 -2|5            -33
//       0|49              0                                -12|5            -33
posted on 2024-05-07 11:15  iot-fan  阅读(52)  评论(0编辑  收藏  举报