主题中讨论的其他器件:CC2642R、 SysConfig
大家好!
我使用的是简单的中央示例、因此基本上我们额外使用了3个基于中断的 GPIO 引脚。 当我们按键时、它将调用 SimpleCentral_keyChangeHandler (uint8 keys)函数、 该函数将触发 SimpleCentral_processAppMsg (scEvt_t * pMsg)中的函数 SC_EVT_KEY_CHANGE;在此事件中按下的按键将被处理(应用程序函数)。 因此、我们使用1个 GPIO 进行扫描(确定)、使用第2个 GPIO 进行 doGATWrite 函数、使用第3个 GPIO 也进行 doGATT 写入。 我已附上以下图片、请查看。
因此,基本上我的按钮功能是:-
1) GPIO 按钮1 -通过调用 SimpleCentral_doDiscoverDevices 进行扫描
2) GPIO 按钮2 - 通过调用 SimpleCentral_doGattWrite (uint8_t index)来生成 GATTWRITE
3) GPIO Button 3 - GATTWRITE、通过 使用不同的索引值调用 SimpleCentral_doGattWrite (uint8_t index)。 (即不同的数据)使用句柄 ID 发送。
#我的查询是:
1)当我在调试模式下将我的硬件与 CC2642r 芯片与 LaunchPad 连接时、GPIO 按钮的所有功能都可以正常工作 、但有时它会卡在 SimpleCentral_spin (void)中、这是一个无限循环、因此会卡滞。 但是、由于 connIndex 仅为0或1、因此它是如何来到该函数的。 它不应该出现。
2) 2)当我用 cc2642r 芯片在硬件中刷写 simple_central 的.hex 文件时、没有 GPIO 按钮正常运行、我想它在程序(代码)中某处会卡住、不知道为什么会发生这种情况、我使用了 TI 的 simple_central 示例代码。 是否存在任何延迟、或此代码进入睡眠模式且我需要将其唤醒。 请告诉我该怎么做。
但我注意到有人认为、当我取出电池然后重新连接设备时、某个时候器件工作、但有时它不工作。 所有 GPIO 按钮都不会生成中断为什么会发生、原因是时钟或程序在某个地方 卡住、请告诉我、在 SimpleCentral_spin 函数中无法正常执行调试操作为什么使用此功能。
是否有人知道为什么程序有时会遇到残桩。
CCS - 版本:12.5.0.00007
TI LaunchPad - cc2642r
SDK 版本- 7_10_01_24
SIMPLECENTRAL _ASSERT (connIndex < MAX_NUM_BLE_CONns);
#define SIMPLECENTRAL_ASSERT (expr ) if (!(expr )) SimpleCentral_spin();




