新接手了一个离职同事的蓝牙项目,有些地方不太明白,请教大家
最近刚学习蓝牙协议栈,用的是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 );
}
非常感谢您的回答!~