This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

新接手了一个离职同事的蓝牙项目,有些地方不太明白,请教大家



最近刚学习蓝牙协议栈,用的是TI的1.3.2的协议栈。

离职的同事基本上没留下什么资料,我同事的项目时在TI的协议栈例程HostTestRelease基础上修改的,我只能每个函数点进去与TI提供的例程做对比。

同事的项目功能主要就是主从机的蓝牙通信,主机通过USB连接PC。

目前有两个问题想请教大家:

1)同事的项目在hci_ext_app.c中的HCI_EXT_App_Init最末尾加了一句

//执行开启设备任务
osal_set_event( hciExtApp_TaskID, START_DEVICE_INIT_EVENT );

我觉得似乎也有必要这一句,为什么TI的例程没有加这句呢?是不是因为原例程没有使用外设,所以不需要设备开启。而我同事的项目使用了USB,所以需要这一句?

2)使用USB功能大概需要做哪些事情?

初来乍到,多多指教~

  • HelloLed,

    没必要加。

    这是你同事自己加的吧,TI的原始代码要加的话也只是 加 SBP_START_DEVICE_EVT。

  • 对的,我同事自己加的。

    看了半天终于看懂了,它后面那个参数也是自己定义的:

    // HCI EXT APP Task Events
    #define HCI_EXT_RESET_EVENT 0x0001
    #define HCI_EXT_SOFT_RESET_EVENT 0x0002
    #define START_DEVICE_INIT_EVENT 0x0004 //初始化设备
    #define WRITE_PERIODIC_EVENT 0x0008

    处理事件函数里也写了个没什么用的东西:

    if ( events & START_DEVICE_INIT_EVENT ) //开启设备事件
    {
    //初始化设备
    //sendPkt_DevInit();
    return ( events ^ START_DEVICE_INIT_EVENT );
    }

    非常感谢您的回答!~