大家好,
我正在进行简单的外围项目。 我想将数据从 CC2652发送到智能手机。 为此,我将零项目的数据服务集成到简单的外围项目中。 我正在使用通知属性发送数据。 为了进行测试,我每隔一秒发送一个字节的数据。 但 当我按下手机上的通知按钮时,程序将放弃 iCall 中止功能。
当我使用读取属性向移动设备发送数据时,程序根本不会挂起。 事实上,我可以每200毫秒通过读取属性向移动设备发送128字节的数据。 但我需要通过通知属性而不在 iCall 中止功能中挂起的相同功能
此致,
Aslam
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.
大家好,
我正在进行简单的外围项目。 我想将数据从 CC2652发送到智能手机。 为此,我将零项目的数据服务集成到简单的外围项目中。 我正在使用通知属性发送数据。 为了进行测试,我每隔一秒发送一个字节的数据。 但 当我按下手机上的通知按钮时,程序将放弃 iCall 中止功能。
当我使用读取属性向移动设备发送数据时,程序根本不会挂起。 事实上,我可以每200毫秒通过读取属性向移动设备发送128字节的数据。 但我需要通过通知属性而不在 iCall 中止功能中挂起的相同功能
此致,
Aslam
Aslam 您好,
最好能识别引发问题的代码。 您可以利用 调试指南来实现这一点。
我希望这将有所帮助,
此致,
克莱门特,您好!
感谢您的建议,并对延迟回复表示遗憾。
我已放置多个断点,并设法找到哪个函数抛出 iCall 中止函数。 下面是代码片段
{
ICall_Errno errno;
void *pCmdStatus = NULL;
errno = ICall_waitMatch(ICALL_TIMEOUT_PREDEFINE, matchLiteCS, NULL, NULL,
(void **)&pCmdStatus);
if (errno == ICALL_ERRNO_TIMEOUT)
{
#ifdef HALNODEBUG
#elif defined(EXT_HAL_ASSERT)
HAL_ASSERT(HAL_ASSERT_CAUSE_ICALL_TIMEOUT);
#else /* !EXT_HAL_ASSERT */
ICall_abort();
#endif /* EXT_HAL_ASSERT */
}
else if (errno == ICALL_ERRNO_SUCCESS)
{
if (pCmdStatus)
{
ICall_freeMsg(pCmdStatus);
}
}
else
{
#ifdef HALNODEBUG
#else /* ! HALNODEBUG */
ICall_abort();//hitting here whenever Iam pressing notify button in the app
#endif /* HALNODEBUG */
}
}
我不明白为什么它会在这里出现,请帮助我解决这个问题
此致,
Aslam
您好,穆罕默德
更确切地说,每200毫秒传输128字节,每次传输20字节。 节目没有打破或死在正确的位置?
首先,您可以检查 指定的通知字符。
请参见 From project_zero (TI.com)
如果您使用 的是 F0001132-0451-4000-B000-00000000,则有一个限制。
您好,穆罕默德
~引用 userid="504079" url="支持/无线连接/蓝牙组/蓝牙/f/蓝 牙-论坛/1065972/cc2652r-hang-ide-In iCall-abort-function/3947253#3947253]'发现了该问题,因为通知数据传输当前任务应该注册 ICALL。 现在还可以。很高兴您找到了解决方案!
现在,为了让其他用户利用我们的讨论,最好关闭此主题并打开一个专门针对您的新问题的新主题。 请务必包括 Simon 询问的所有详细信息。
此致,