在状态上激活????

4个帖子/ 0新
最后一篇
乔治
离线
最后一次露面:4年2个月前
加入:2016-01-25 14:20
在状态上激活????

你好。

IM类型的蓝牙,即时,当它的连接时,即时尝试将引脚设置为低电平,所以我希望它通过询问状态机,我该怎么做?

这就是我所拥有但不起作用。
界面;
int State2;

state = ke_state_get(app_connected);

而(州== true)
{
gpio_configurepin(gpio_port_0,gpio_pin_6,输出,pid_gpio,true);
gpio_setinactive(gpio_port_0,gpio_pin_6);

}
state2 = ke_state_get(app_connectable);
虽然(state2 == true)
{

gpio_configurepin(gpio_port_0,gpio_pin_6,输出,pid_gpio,false);
gpio_setactive(gpio_port_0,gpio_pin_6);
}

}

thnx。

设备:
萨拉瓦
离线
最后一次露面:3年6个月前
加入:2015-04-28 10:35
如果你需要5个你需要

如果您的SDK是5,则需要将GPIO初始化放入USER_PERIPH_SETUP.c中的函数set_pad_functions。
然后在user_callback_config中查看user_app_callbacks结构。

static const struct app_callbacks user_app_callbacks = {
.app_on_connection = default_app_on_connection,
.app_on_disconnect = default_app_on_disconnect,
.app_on_update_params_rejected = null,
.app_on_update_params_complete = null,
.app_on_set_dev_config_complete = default_app_on_set_dev_config_complete,
.app_on_adv_undirect_complete = app_advertise_complete,
.app_on_adv_direct_complete = null,
.app_on_db_init_complete = default_app_on_db_init_complete,
.app_on_scanning_completed = null,
.app_on_adv_report_ind = null,
.app_on_pairing_request = default_app_on_pairing_request,
.app_on_tk_exch_nomitm = default_app_on_tk_exch_nomitm,
.app_on_irk_exch = null,
.app_on_csrk_exch = default_app_on_csrk_exch,
.app_on_ltk_exch = default_app_on_ltk_exch,
.app_on_pairing_succeded = null,
.app_on_encrypt_ind = null,
.app_on_mitm_passcode_req = null,
.app_on_encrypt_req_ind = default_app_on_encrypt_req_ind,
};

default_app_on_connection和default_app_on_disconnect它是您需要的。

在default_app_on_connection中添加gpio_setinactive(gpio_port_0,gpio_pin_6)
和gpio_setactive(gpio_port_0,gpio_pin_6)内部default_app_on_disconnect

mt_dialog.
离线
最后一次露面:2个月5天前
职员
加入:2015-06-08 11:34
嗨豪尔赫,

嗨豪尔赫,

ke_state_get将任务作为参数(task_app)并返回任务状态(app_connected,app_security等),可以在user_periph_setup.c上配置引脚的功能,仅使用gpio_setactive和非活动来配置输出别针。快速应用程序要做您想要的是用下面的片段替换app_on_ble_powered null回调:

枚举arch_main_loop_callback_ret user_on_ble_powered(void)
{
if(ke_state_get(task_app)== app_connectable)
gpio_setactive(gpio_port_1,gpio_pin_0);
别的
gpio_setinactive(gpio_port_1,gpio_pin_0);

返回goto_sleep;
}

即使设备在睡眠模式下运行时,这也会起作用,因为它将始终检查应用的状态并将打开LED。如果您在睡眠模式下,请切换引脚,引脚将保持其状态,而在其睡眠状态下,则唤醒外围设备将从任何其他实施方式重新初始化其原始状态(如斯拉瓦的智能建议))您必须记住PIN状态并在PeripH_Init()函数中唤醒时将其重置为该状态。

谢谢mt_dialog.

乔治
离线
最后一次露面:4年2个月前
加入:2016-01-25 14:20
谢谢很多人,对不起

谢谢很多人,对不起早些时候没有回答。