DA14580蓝牙收发数据示例

2个帖子/ 0个新
最后发表
toddgun
离线
最后看到:3年3个月前
加入:2016-10-24 22:46
DA14580蓝牙收发数据示例

你好,

我不知道如何使用DA14580和android手机通过蓝牙发送或接收数据。我一直在查看ble_examples目录中的示例。更具体地说,我一直试图让ble_app_sleepmode工作。我需要关于如何发送和接收字节(或任何其他类型的数据)的最简单的示例。

到目前为止,唯一值得注意的尝试是在“app_on_connection”回调中调用以下函数。
空白sensor_int_send_ble ()

struct custs1_val_ntf_req* req = KE_MSG_ALLOC_DYN(custs1_val_ntf_req,
TASK_CUSTS1,
TASK_APP,
custs1_val_ntf_req,
DEF_CUST1_ADC_VAL_1_CHAR_LEN);
/ /值
静态uint16_t样本;

示例= 42;

申请- > conhdl = app_env - > conhdl;
申请- >处理= CUST1_IDX_ADC_VAL_1_VAL;
申请- >长度= DEF_CUST1_ADC_VAL_1_CHAR_LEN;
顺利进行,memcpy(请求- >价值DEF_CUST1_ADC_VAL_1_CHAR_LEN);

ke_msg_send(要求的);

但是当我用BLE扫描仪连接到da14580时,这没有提供任何结果。

除此之外,我如何配置睡眠?睡眠“深度”,就我所知,可以用一个简单的宏来选择。但它什么时候睡觉或醒来?

提前谢谢。

设备:
MT_dialog
离线
最后看到:3个月1周前
工作人员
加入:2015-06-08 34
嗨toddgun,

嗨toddgun,

关于发送和接收数据通过蓝牙,也许app_ble_sleepmode例子不是最好的开始,这个例子实现了一个自定义服务,你可以添加一些代码发送数据,但当前实现有限只派出了一个按钮的状态,所以在ble_app_sleepmode示例中,你只能发送SW3开关的状态到你的手机,如果它被按下或没有。如果你想要一个例子来发送数据,我推荐ble_app_peripheral的例子,项目发送一些虚拟数据通过内核定时器到电话。为了使你所要做的是发送0 x01第一个特征(控制点),然后启用通知在ADC值1的特点(从手机应用程序读取用户描述的特点,以找出哪些特点有什么功能)。一旦启用了通知,就会看到ADC值1特征被虚拟值更新。通知的发送是由app_adcval1_timer_cb_handler()函数触发的(当timer - timer_used = app_easy_timer(APP_PERIPH..... . timer_cb_handler)函数执行的)-已经过去)。分配CUSTS1_VAL_NTF_REQ命令,正确填写配置和要发送的数据,并将其转发到堆栈,然后设置一个新的计时器以发送下一个通知。

关于睡眠,这是由strutcure app_default_sleep_mode配置的,取决于设备将落在no_sleep, extended_sleep, deep_sleep中的值,设备将休眠多长时间由设备本身定义,这意味着只要有一个upcomming BLE事件设备将程序为了叫醒它自我服务,事件是一个广告事件连接的事件,一个计时器事件和外部中断,如果没有事件设备只会继续睡觉。当然,你可以在运行期间通过arch_set_extended_sleep(), arch_set_deep_sleep()或arch_disable_sleep()动态地改变睡眠模式。

由于MT_dialog