嗨,我已经成功写了一个特征。正如我所知,当在我的Android手机和DA114580之间建立了GATT连接时。如果我从手机发送给Cust1_long_Value特征(使用uuid)的写请求,DA14580 BLE堆栈将创建消息并发送到我的应用程序,并发函数user_catch_rest_hndl()(在文件中user_peripheral.c.)将被调用以处理消息。因为这件事迈格德是cust1_idx_long_value_val所以功能user_custs1_long_val_wr_ind_handler()(在文件中user_custs1_impl.c.)将被称为。通过使用Putty记录数据,我已经检查了结果。它很好。我理解对吗?
现在我从手机发送给Cust1_long_value特征(使用uuid)的读取请求。如何访问Cust1_Long_Value特征数据并将数据发送回我的手机?必须使用哪些功能?有什么例子吗?谢谢!!!!
设备:
嗨thanhtu131,
不确定我是否完全理解你想要完成的事情。我猜你想将数据从DA14580发送到手机。这可以完成指示或通知。一旦通过对等设备写入特定特性,触发user_custs1_long_val_wr_ind_handler。请查看ordo中的app_adcval1_timer_cb_handler()以了解如何向对等设备发送通知。当然,应须须通知特性。
谢谢,PM_DIALOG.
如果我将0x01写入控制点,则调用app_adcval1_timer_cb_handler()并向task_cust1发送cutt1消息。消息ID是Custs1_Val_ntf_req,因此这是通知。该任务_cust1将处理数据库中的消息并更新特征值(消息包含特征值的地址)。我是否正确理解操作?
嗨thanhtu131,
请参见8.26UM-B-050:DA1458X软件开发人员指南(SDK5)为了了解它是如何工作的。
一旦0x01写入“控制点”特征,您将在user_catch_rest_hndl()中获取cust1_dx_control_point_val,然后触发user_custs1_ctrl_wr_ind_handler()回调函数。app_adcval1_timer_cb_handler()负责发送通知每个app_peripheral_ctrl_timer_delay秒。
谢谢,PM_DIALOG.
THNKS,但我想更清楚地了解代码。我认为app_adcval1_timer_cb_handler()负责将Custs1_val_ntf_req消息发送给Cust1任务,每个App_peripheral_ctrl_timer_delay秒秒。然后,Handler Custs1_Val_ntf_req消息将执行,它将更新数据库中的字符“ADC值1”的值,并通过GATT发送指示。
您好,您是对的 - 请查看custs1_val_ntf_req结构。谢谢,PM_DIALOG.
好的,谢谢你的确认