完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
大家好,
我正在制作一些CyPress PSoC 4应用程序,我希望在客户端写一个错误响应后回复。 我注意到,如果我不使用“CyLabyGATScript WrutsSP(CyByLyCon句柄)”,服务器将在一段时间后超时,并且我必须重新连接。 我想知道它是否可以使用“CyLay-GATSerSerrrSP”(CyByLyCon句柄,and Err;Err)。它自己以及如何在客户端读取这个错误。 有人有这方面的资料吗? 以上来自于百度翻译 以下为原文 Hello all, I am making some cypress psoc 4 application and I want to reply whith an error response after the client does a write. I've noticed that if I do not use "CyBle_GattsWriteRsp(cyBle_connHandle);" the server will timeout after some time and I have to reconnect again. I was wondering if it is posible to use "CyBle_GattsErrorRsp(cyBle_connHandle, &err);". on its own and how I can read this error on the client side. Anyone has an exaple of this? |
|
相关推荐
1个回答
|
|
是的,您应该使用CyBygGATSerRoRSP()。CyLygGATSWrreServer()只在希望写入成功/响应时发送。
CyByLyGATSerRoRSP()的文档/注释应该解释如何很好地使用它: / ***************************************************************************************************************************************************************** *函数名称:CyBLY-GATSerSerRRP ************************************************************************************************************************************************************************************************************************************************************ * *此函数向对等设备发送错误响应。误差响应 *用于声明给定的请求无法执行,并提供 *“CyBLY-GATHEGETRYL CODET”中定义的原因。这是一个非阻塞函数。 * *注意GATT客户端启动的“写入命令”不会生成 *来自GATT服务器端的“错误响应”。关贸总协定客户得到 *CyLay-EvtgGATCKErrRoRyrSP事件接收错误响应。 * *参阅蓝牙4.1核心规范,第3卷,第F部分,第3.4.1.1节 *关于错误响应操作的更多细节。 * *PARAM CONTRAWER:标识对等GATT实体类型的连接句柄 *CysLy-Couth-Hand *PARAM ErrSPPARAM:指向CyBLY-GATSFSRelyPARAMAMT结构的指针。 * *返回 *CyByrApIILReultTyt:返回值指示函数是否成功或 *失败。下面是可能的错误代码。 * *错误代码描述 * ------------------ *成功手术 * CyByLyRoRySimuldId参数'CualHuff'值不表示堆栈中的任何现有条目 *不允许此操作 * CyByrErrRoReMyMyLogyApLosial1内存分配失败 * *** TL;DR; 按照你的要求去做: 在外围调用CyLabyGATSerRoRSP() 在中央处理CyByLyEvtgGATCyErrRoRyrSP事件 对于中心上的事件和外围的响应函数,错误都应该封装在CyByrgGassHeel-PARAMGLT结构中。 以上来自于百度翻译 以下为原文 Yes, you should use CyBle_GattsErrorRsp(). CyBle_GattsWriteRsp() is only called when you want the write to succeed/response to be sent as okay. The documentation/comments for the CyBle_GattsErrorRsp() should explain how to use it pretty well: /****************************************************************************** * Function Name: CyBle_GattsErrorRsp ***************************************************************************//** * * This function sends an error response to the peer device. The Error Response * is used to state that a given request cannot be performed, and to provide the * reason as defined in 'CYBLE_GATT_ERR_CODE_T'. This is a non-blocking function. * * Note that the 'Write Command' initiated by GATT Client does not generate an * 'Error Response' from the GATT Server's end. The GATT Client gets * CYBLE_EVT_GATTC_ERROR_RSP event on receiving error response. * * Refer Bluetooth 4.1 core specification, Volume 3, Part F, section 3.4.1.1 for * more details on Error Response operation. * * param connHandle: Connection handle to identify the peer GATT entity, of type * CYBLE_CONN_HANDLE_T. * param errRspParam: Pointer to structure of type CYBLE_GATTS_ERR_PARAM_T. * * return * CYBLE_API_RESULT_T : Return value indicates if the function succeeded or * failed. Following are the possible error codes. * * Errors codes | Description * ------------ | ----------- * CYBLE_ERROR_OK | On successful operation * CYBLE_ERROR_INVALID_PARAMETER | 'connHandle' value does not represent any existing entry in the Stack * CYBLE_ERROR_INVALID_OPERATION | This operation is not permitted * CYBLE_ERROR_MEMORY_ALLOCATION_FAILED | Memory allocation failed * ******************************************************************************/ Tl;Dr; To do what you are asking: Call CyBle_GattsErrorRsp() on the peripheral Handle the CYBLE_EVT_GATTC_ERROR_RSP event on the central The error should be packaged within the CYBLE_GATTS_ERR_PARAM_T structure for both the event on the central and the response function on the peripheral. |
|
|
|
只有小组成员才能发言,加入小组>>
754个成员聚集在这个小组
加入小组2106 浏览 1 评论
1853 浏览 1 评论
3671 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1788 浏览 6 评论
1536 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
572浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
424浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
438浏览 2评论
386浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
916浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 15:55 , Processed in 0.927917 second(s), Total 79, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号