完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我正在尝试为我的特征设置可读的值。 但它总是给我 0(零)值。
该应用程序非常简单,我正在尝试通过写入值来设置 led 状态,效果很好。 但是我想在另一个特征中设置同样的led状态。 我已经阅读了自定义配置文件实现文档,但这对我不起作用。有人能指导我吗? 以下是我的主要代码供你参考。 /************************************************************************************************/ #include p " roject.h " void Stack_Handler(uint32 evenCode,void * eventParam); void Stack_Handler(uint32 EvenCode,void * eventParam){cyble_GATTS_WRITE_WRITE_CMD_REQ_PARAM_T * wrreqParam;switch (eventCode) {case CYBLE_EVT_GAP_STACK_ON:case CYBLE_EVT_GAP_DEVICE_DEVICE_DEVICE_DEVICE_DEVICE_DECNECTED:cyble_GAPStartAdvertising_Wr iteCompar e (500);pwm_blink_start ();pwm_dim_stop ();break;c ase CYBLE_EVT_GATT_CONNECT_IND://pwm_writeCompare (0);pwm_blink_stop ();pwm_dim_Start ();break;c ase CYBLE _EVT_GATTS_WRITE_CMD_REQ: 案例 CYBLE_EVT_GATTS_WRITE_WRITE_WRITE_PARAM_T *) eventParam;if (cyble_LED_GREEN_CHAR_HANDLE == wrreqParam-handlepair.attrHandle == wrreqParam-handlepair.atthandle) eventParam;if (cyble_LED_GREEN_CHAR_HANDLE == w > {i f (wrreqParam-h > andlevalPair.value.len > 0) {uint8 Value [10] ={0} ; int loopCounter = 0; 而(loopCounter< wrReqParam-> wrreqParam-handlevalPair.val ue.len 0) {uint8 Value.val < > { Value[loopCounter] = wrReqParam->handleValPair.value.val[loopCounter]; loopCounter ++; } 值 [wrreqParam-handlevalPair.value.len] > = ' 0';i f (strcmp ((const char *) Value,"LED_ " ON) == 0) { PWM_DIM_WriteCompare(0); } else i " f (strcmp ((const char *) Value,LED_OFF) == 0)}} cyble_ gattsWriterSP (cyble_ " ConnHandle);/* 发送回复到收到的写入请求*/ break; { PWM_DIM_WriteCompare(100); } } } int main (void) { //uint8 String [10] ={0}; uint8 String = 4; cyGlobalIntenable;/* 启用全局中断。 */ cyble_Start(Stack_Handler);pwm_d im_Start ();pwm_blink_Start ();cyble_GATT_HANDLE_VALUE_PAIR_T setread Handler;/strcpy ((char *) 字符串,led_State); "" setreadHandler.attrHandle = CYBLE_LED_READ_LED_STATE_CHAR_HANDLE;setreadHandler.value.val = (uint8 *) 字符串;//使用指向 值的指针 setreadHandler.value.len = sizeof(字符串);//数据长度 cyble_gattsWriteAttributeValue(setReadHandler,0,cyble_conHandle,CYBLE_GATT_DB_PEER_INTIALITED) ; /* 将你的初始化/启动代码放在这里(例如 myinst_start ()) */ for (;;) { /* Place your application code here. */ CyBle_ProcessEvents(); } } /* [] 文件结尾 */ /************************************************************************************************************ |
|
相关推荐
1个回答
|
|
看起来你的代码缺少一部分内容,无法准确判断问题出在哪里。不过,根据你的描述,可能是你的特征设置的值没有正确保存到配置文件中,导致读取时始终为0。
首先,请确保你已正确实现了自定义配置文件。你可以参考文档或示例代码,确保正确地定义了自定义配置文件的结构和属性。 然后,请确保你在设置特征值之后正确地将其保存到配置文件中。可以使用`CyBle_GattsWriteAttributeValue`函数将特征值写入配置文件中。 接下来,在读取特征值之前,请确保你通过`CyBle_GattsReadAttributeValue`函数从配置文件中读取特征值。读取后,可以使用返回的属性长度和值,以确保读取到了正确的值。 如果仍然遇到问题,请再次检查自定义配置文件的定义是否正确,并确保在特征设置时和读取时使用相同的属性和值。 如果仍然无法解决问题,请提供更多的代码和详细的描述,这样我可以帮助你更好地诊断和解决问题。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
195 浏览 0 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
172 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
453 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
697 浏览 2 评论
602 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11983 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 04:17 , Processed in 0.561547 second(s), Total 75, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号