嗨,我正在研究使用DA14580(Murata TypeZy模块)的设计使用对话框串行端口服务。一切正常使用Android应用程序提供的对话框,我能够从我的硬件发送和接收数据,到目前为止,DSP已经基本上是即插即用。
我现在已经在我必须挖掘细节的那一点,我对SPS_Flow_Ctrl特征有一些问题。我真的不明白它在做什么。从DA14580发送发送,不会导致任何通知并从中央设备发送(Android手机)似乎不必读取或写入流控制特性。我在这里遗漏了什么?任何洞察力都会非常感谢。
设备:
嗨dave.renzo,
我不确定我完全得到了问题,通过user_send_ble_flow_ctrl()函数更新流程和流量关闭特性,并且一旦用于存储数据的缓冲区,就会发出中央和外围设备上的流控制信号当经由UART端口接收到流量控制信号时,更新特定水印和特性。例如,在SPS_DEVICE上,user_send_ble_flow_ctrl()用于BLE_PERIPH_PULL()中使用,以便在UART上发送数据,并根据水印值设置流量控制信号,并在user_ble_push()函数中,在水印中再次使用在缓冲区中检查,再次调用user_send_ble_flow_ctrl()以发送关闭信号。此外,该函数用于user_override_ble_xoff()和user_override_ble_xon()函数,其中根据UART流控制状态更新BLE中的流量控制。关于客户端,通过SPS_CLIENT_TX_FLOW_CTRL_IND消息控制对BLE接口上的流量控制的状态(这是通知应用程序的原因),因此,一旦存在从外围侧的通知,此消息将发送到中央应用程序除了打印一些调试消息之前,图层(消息不实际情况),但在发送实际消息之前,应用程序spsc_env-> tx_flow_en的环境变量设置为true(可以在gattc_event_ind_handler中检查它),因此此变量是在任何Attemp之前由中央检查将(发送数据发送)写入外围设备的特性。请检查串口服务参考应用程序(UM-B-038)的用户手册,其中大多数应用机制都在那里解释,包括流量控制机制。雷竞技安卓下载
谢谢mt_dialog.