微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > CC2640 simplebleperipheral的疑问

CC2640 simplebleperipheral的疑问

时间:10-02 整理:3721RD 点击:

CC2640协议栈是基于TI-RTOS基础上实现的,中间还加了个ICall,代码中间还加了n层宏定义,好像故意绕来绕去,又没有详细的注释,让人学习的难度加大,真的是无fu-ck可说了。

现在有几大疑问想请教一下TI工程师:

1、关于每个thread里的ICall_Errno errno = ICall_wait(ICALL_TIMEOUT_FOREVER);我知道发送信号量和队列消息,它都能接收到,然后执行后面的程序,但是后面代码里的

if (ICall_fetchServiceMsg(&src, &dest,(void **)&pMsg) == ICALL_ERRNO_SUCCESS)

作用是什么呢,什么时候会判断为true?自己创建的thread,是否也一定需要这个语句?

2、我自己创建了一个新thread,在手机连接上蓝牙以后,在这个thread里,定时1秒调用一次notify函数,把数据发送给手机。但是一调用,程序必定死掉。但是,在SimpleBLEPeripheral_taskFxn里面调用,程序就一切正常,请问这个问题,是否跟SimpleBLEPeripheral_init里面调用的GAP_RegisterForMsgs(selfEntity);      GATT_RegisterForMsgs(selfEntity);有关系呢?

谢谢!

你好有解决吗~!我也遇到同样问题。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top