蓝牙开发板相关

问1,主机如何清除绑定地址?
Gapbondmgr.c (ble-cc254x-1.3.2\projects\ble\profiles\roles):               
VOID GAPBondMgr_SetParameter( GAPBOND_ERASE_ALLBONDS, 0, NULL );
执行以上的函数即可 (已验证)。
问2,我也按照你文档的要求替换 Hal_lcd.c 了, 但为什么从机Oled显示屏不亮但主机是亮的? 这个是编译选项的问题,,刚安装完IAR以及协议栈后打开主机的工程
C:\Texas Instruments\BLE-CC254x-1.3.2\Projects\ble\ SimpleBLECentral
默认的是 CC2541DK-mini keyfob 的编译选项,而我们的开发板是兼容于TI官方的smartrf开发板的,因此,修改成下图的红色即可:

如果是cc2541的核心板子, 就选择cc2541,
如果是cc2540的就选cc2540。
问3,SimpleBLECentral和SimpleBLEPeripheral断开连接后,会显示"Disconnected Reason:22",这个22或者63等代表什意思?
答: 错误码定义于:BLE-CC254x-1.3.2\Components\ble\controller\include 路径下的 ll.h 文件:

代码截图如下,注意,代码中的是16进制,而LCD上显示的是10进制

其中 22:  16进制就是 0x16
#define LL_STATUS_ERROR_HOST_TERM                      0x16 // Connection Terminated By Local Host
是主机断开连接的原因
其中 63:  16进制就是  0x3f
#define LL_STATUS_ERROR_CONN_TIMING_FAILURE            0x3F // MAC Connection Failed
是MAC地址连接失败连接的原因, 如果距离比较远或者信号比较差, 就会导致这个连接断开并报告原因。
问4,IAR编译出来的bin文件有多大怎么看?
答: 看如图的 文件即可:

问5: BLE协议栈的系统节拍时钟用的是哪个定时器?
答复: 请看下图: timer3


问6: 开发板的五向按键 center 被误认为 right ?(9.20日后出货的开发板默认带的固件)
答复: 由于我们电路上用了 PL2303-hx, 该芯片带有vcc3.3v输出(实际输出达到3.4V左右), 并且该输出与我们的开发板的ldo的3.3v输出是连接起来的, 导致核心板的vcc达到了3.4v, 而5向按键实际上是adc采样得到各个键值的,该采样的参考电压本应是3.3v的AVDD, 而现在AVDD变成了3.4v, 并且5向按键的分压也随之升高, 导致开发板的五向按键 center 被误认为 right 。 我们可以稍微改动一下代码,即可避免.
修改如下:
文件:  Hal_key.c (components\hal\target\cc2540eb)
函数: uint8 halGetJoyKeyInput(void)

第450行:

uint8 halGetJoyKeyInput(void)
{
  /* The joystick control is encoded as an analog voltage.
   * Read the JOY_LEVEL analog value and map it to joy movement.
   */
  uint8 adc;
  uint8 ksave0 = 0;
  uint8 ksave1;

  /* Keep on reading the ADC until two consecutive key decisions are the same. */
  do
  {
    ksave1 = ksave0;    /* save previouse key reading */

    adc = HalAdcRead (HAL_KEY_JOY_CHN, HAL_ADC_RESOLUTION_8);

    if ((adc >= 2) && (adc <= 38))
    {
       ksave0 |= HAL_KEY_UP;
    }
    else if ((adc >= 74) && (adc <= /*88*/86 ))
    {
      ksave0 |= HAL_KEY_RIGHT;
    }
    else if ((adc >= 60) && (adc <= 73))
    {
      ksave0 |= HAL_KEY_LEFT;
    }
    else if ((adc >= 39) && (adc <= 59))
    {
      ksave0 |= HAL_KEY_DOWN;
    }
    else if ((adc >= /*89*/87 ) && (adc <= 100))
    {
      ksave0 |= HAL_KEY_CENTER;
    }
  } while (ksave0 != ksave1);

  return ksave0;
}
截图如下:



问7BLE Client往Server发送信息,如何强制打开Notify通知呀
这个问题在 主从一体串口透传的哪个例程里有?
蓝牙开发板相关_第1张图片


file:///D:\Program Files\Tencent\QQ\Users\11940507\Image\C2C\4NEI00$2%K94O0D8)H]6FZJ.jpg
问8、串口是否有在线升级的方法?
这个目前我们没有这个例程, 不过官方有:路径如下:
蓝牙开发板相关_第2张图片
[img]file:///D:\Program Files\Tencent\QQ\Users\11940507\Image\C2C\6(O%%9I}Y4$3YML_@[P]W$H.png[/img]

你可能感兴趣的:(Bluetooth)