9个帖子/ 0新
最后一篇
扣留
离线
最后一次露面:1个月1周前
加入:2019-06-21 07:31
da14580休眠问题

请问一下da14580休眠的历程是怎么样的,我的工程是在ble_app_peripheral的基础上的,然后进行了一休眠模式的配置,具体处下:

user_confog.h中修改:

const static sleep_state_t app_default_sleep_mode =ARCH_EXT_SLEEP_ON;

user_peripheral.c中修改:

void user_app_adv_start(void)
{
//安排下一个广告数据更新
app_add_data_update_timer_used = app_easy_timer(app_add_data_update_to,avd_data_update_timer_cb);//定时机60sec后停止广播

struct gapm_start_advertise_cmd * cmd;
cmd = app_easy_gap_undirected_advertise_get_active();

//动态添加制造商特定数据
mnf_data_update();
app_add_ad_struct(cmd,&mnf_data,sizeof(struct mnf_specific_data_ad_structure));

//在广告期间设置延长睡眠
ARCH_SET_EXTEDDE_SLEEP();


app_easy_gap_undircated_advertise_start();
}

void user_app_connection(uint8_t connection_idx,struct gapc_connection_req_ind const * param)
{
if(app_env [connection_idx] .conidx!= gap_invalid_conidx)
{
user_gattc_exc_mtu_cmd(connection_idx);
app_connection_idx = connection_idx;

//停止广告数据更新计时器
app_easy_timer_cancel(app_add_data_update_timer_used);

//检查已建立连接的参数是否是首选的参数。
//如果没有,则计划连接参数更新请求。
if((param-> con_interval (param-> con_interval> user_connection_param_conf.intv_max)||
(param-> con_latency!= user_connection_param_conf.latency)||
(param-> sup_to!= user_connection_param_conf.time_out))
{
//连接参数不是我们预期的
app_param_update_request_timer_used = app_easy_timer(app_param_update_request_to,param_update_request_timer_cb);
}
}
别的
{
//没有建立连接,重启广告
user_app_adv_start();
}

default_app_on_connection(connection_idx,param);
ARCH_SET_EXTEDDE_SLEEP();
}

void user_app_add_undirect_complete(UInt8_t status)//停止广播后调使用
{
//如果广告被取消,则更新广告数据并再次启动广告
if(status == gap_err_canceled)
{
// user_app_adv_start();
ARCH_BLE_EXT_WAKEUP_ON();//使能外部唤醒,定时果批发无效,睡眠后直到下载更新上电,将不再唤醒

}
}

da1458x_config_basic.h中修改

#define cfg_mem_map_ext_sleep.
#undef cfg_mem_map_deep_sleep.

运行程序烧写后,可以以确定程是正当行的,在断开蓝牙1分钟后,广播信号消失,是符合程序的。我会达到的目很的。,连接读写完毕后,断开蓝牙,1分钟后,蓝牙进入休眠,且且能用外研唤醒。

目前按上游的程度在广播信号消失,蓝牙并未进入设置的扩展模式。

请问还有条里里需要修改的吗,我是我理解的.sleepmode子子里的是深度休眠,其他设置好像我上面的设置别无区别,别无我在.app_on_system_powered = user_scan_sda_flag,是有加加数的,是没有影响影响

设备:
扣留
离线
最后一次露面:1个月1周前
加入:2019-06-21 07:31
我好像知道问题在哪了,他进休眠前需要判断app_on

我好像知道问题在哪了,他进休眠前需要判断app_on_system_powered是null,我在这里有着放执行数。请问怎么在使用完完时尚,将该位置设置别为null呢?

奇芳
离线
最后一次露面:4小时1分钟前
职员
加入:2019-12-30 09:02
嗨,

嗨,

你的♥,我们会在内部内部讨论和您联系。

最好的祝福,

QIFAN.

扣留
离线
最后一次露面:1个月1周前
加入:2019-06-21 07:31
好的,期待的回复。

好的,期待的回复。

实际测试中,我将app_on_system_powered恢复为null后,在user_app_adv_undirect_complete遇入中ARCH_SET_EXTEDDE_SLEEP(); ARCH_BLE_EXT_WAKEUP_ON();即可实现实现,最初的config.h里的休眠可以关心,在广播广播后再开开休眠可口。

唯一的问题就我是我的使用了app_on_system_powered里的数量,要进休眠就得恢复null,不知道怎么原理。休眠流程我大声明显了

扣留
离线
最后一次露面:1个月1周前
加入:2019-06-21 07:31
还有没有答复吗

还有没有答复吗

奇芳
离线
最后一次露面:4小时1分钟前
职员
加入:2019-12-30 09:02
嗨,

嗨,

在.app_on_ble_powered = user_scan_sda_flag over disures中是返回有返回到goto_sleep来到进入模式

最好的祝福,

QIFAN.

扣留
离线
最后一次露面:1个月1周前
加入:2019-06-21 07:31
有没有,需要怎么做呢?在.app_on_ble

并没别,需要怎么做呢?在.app_on_ble_powered = user_scan_sda_flag加载哪些可以实现模式运完回归正式休眠模式,arch_goto_sleep(sleep_mode);在arch_main里奇的时候(app_asynch_proc()!= goto_sleep);判断的,是,是需要.app_on_ble_powered = null时尚返回goto_sleep;

奇芳
离线
最后一次露面:4小时1分钟前
职员
加入:2019-12-30 09:02
嗨,

嗨,

可在攻击的app_on_ble_powered eary里直接返回got got got got tooto_sleep,休眠过程是一个个个流程,goto_sleep〗是通行,而不是下面的那个。

最好的祝福,

QIFAN.

扣留
离线
最后一次露面:1个月1周前
加入:2019-06-21 07:31
在user_scan_sda_flag.

在user_scan_sda_flag里面直接返回goto_sleep?但在分数循环里,判断的是(app_asynch_trm()!= = goto_sleep); app_asynch_proc()!= goto_sleep;这两个,我需要去修改arch_main.care这两个码的内容吗,直接让他返回goto_sleep?