Hello Dialog\u支持,
我已使用示例和DSPS项目配置了角色切换。默认操作模式为外围设备,当我按下按钮时,当前角色切换到中央设备。除了角色切换,它还执行连接到其他外围设备和发送数据等操作。现在,下一个角色切换仅在按下按钮时发生。角色切换部分工作正常,但在与各自的中央和外围设备连接时,在更换角色后,我面临问题。在名为custc1.c和custc1_task.c的DSPS项目的帮助下,我创建了自定义客户机配置文件。在这个文件中,我声明了两个常量结构
1.如果我在下面的结构中声明GATTC_CMP_EVT,那么在外围模式下,它将平滑地连接到移动应用程序,但在中央模式下它无法连接到外围设备。
const struct ke_msg_handler custc1_connected[]=
{
{custc1_DATA_WRITE_REQ,(ke_msg_func_t)custc1_DATA_WRITE_REQ_handler},
{,(ke_msg_func_t)gattc_cmp_evt_handler},
代码>
2.如果我在下面的结构中声明GATTC_CMP_EVT,然后在中央模式下,它可以连接到其他外围设备,但在外围模式下,当我们尝试连接到移动应用程序时,它会进入硬故障处理程序。
const struct ke_msg_handler custc1_default_state[]=
{
{custc1_ENABLE_REQ,(ke_msg_func_t)custc1_enable_req_handler},
{GAPC_DISCONNECT_IND,(ke_msg_func_t)GAPC_DISCONNECT_indu handler},
{GATTC_CMP_EVT,(ke_msg_func_t)GATTC_CMP_EVT_handler},
代码>
上述gattc\u cmp\u evt\u处理程序在custs1\u task.c和custc1\u task.c中定义。但该处理程序被声明为静态的。你能帮我找出原因吗?
我已经上传了我使用的custc1_task.c文件结构的图像。
谢谢大家,
Ruchi Patel