大家好、
我尝试将 pan1326b 中的 CC2564B 与 TM4C 微控制器结合使用。
我在没有操作系统的情况下运行 SPPDemo。
我在没有 XB 修补程序的情况下尝试了这种方法。 无使设备可被发现。
设置为服务器->打开1。
设置为服务器->设置发现模式2. 这会导致 GAP_SET_discoverability _Mode 失败:-14。
有什么关于这种情况发生的原因的建议或想法?
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.
大家好、
我尝试将 pan1326b 中的 CC2564B 与 TM4C 微控制器结合使用。
我在没有操作系统的情况下运行 SPPDemo。
我在没有 XB 修补程序的情况下尝试了这种方法。 无使设备可被发现。
设置为服务器->打开1。
设置为服务器->设置发现模式2. 这会导致 GAP_SET_discoverability _Mode 失败:-14。
有什么关于这种情况发生的原因的建议或想法?
感谢 Hari 的说明、我将等待回复。
让我添加以下测试:
在"main.c"中的函数"MainThread"中、我更改了处理自己控制台的调度函数:
BTPS_AddFunctionToScheduler (Mytest、空、200)
在该函数中、我执行了此操作(因为它看起来是我想要的)
静态空 Mytest (void *用户参数){
SPP_myTest();
}
void SPP_myTest(){
int return_value = 0;//仅用于调试目的
if (first_run = 1){
参数 List_t 参数;
/*打开服务器端口1 */
Parameter.NumberofParameters = 1;
Parameter.Params[0].intParam = 1;
字符 a[]="1";
Parameter.Params[0].strParam = A;
return_value = OpenServer (¶meter);
/*更改设备名称*/
Parameter.Params[0].intParam = 1;
char b[]="CC2564";
Parameter.Params[0].strParam = b;
SetLocalName (参数);
/*将设备设置为一般可发现*/
return_value = SetDisc();
first_run = 0;
}
}
这种情况发展得更加缓慢、但这是我的当前函数。 逐行运行我看到 SetDisc 运行顺畅并返回0。
现在请注意此行为:
-如果我只是运行代码,我就找不到任何设备。
-如果我在"SetDisc()"之后立即停止代码,我将会找到一个名为"CC2564"的设备,我将其命名为它。 我可以与此器件配对、但由于代码已冻结、因此它当然不会创建端口或任何其他内容。 如果我在这里自由运行代码、器件将消失。
我尝试找出设备停止被发现的位置。 注:我使用的是 Noos。 在 BT 调度程序中、我尝试查看发生这种情况的时间。 它是在调用第二个函数时。 通过使用反汇编、它告诉我 它是 UpdateHCCallbackThread。 我找不到此函数的源代码、因此找不到任何其他内容(这是一个问题、因为我不打算在最终代码中使用 bluetopia 调度程序、而是使用 Tiva utils 1)。
使用串行端口时遇到一些问题(我无法访问)、因此我向"BTPS_OutputMessage"添加了一个断点、以检查是否有任何输出消息可用以及是否没有。 (当然、在调用"SetDisc"后)。
由于“SetDiscoverabilityMode”没有-14错误,我认为该错误是 从 UpdateHCCallbackThread 返回的。 希望这对您有所帮助。 我将尝试对它进行更多的研究。