15个帖子/ 0新
最后一篇
索引219.
离线
最后一次露面:1年4个月前
加入:2016年5月23日07:00
关于工程DSPS_v_5.150.2中EXT_SLEEP问题请教!

问题描述:
1.DSPS_V_5.150.2工程中销量默认始值:
量静态sleep_state_t app_default_sleep_mode = ARCH_EXT_SLEEP_ON;
app_default_sleep_mode = Arch_ext_sleep_on在DSP工程中的含义中,在这种情况下测试功能,数码传输是不可思生的。
请问一下da14583在arch_ext_sleep_on设置成扩展睡眠模式下,dsps工程的睡眠模式逻辑关键词是怎么样的?工程在什么情况下进入ext_sleep模式,什么情况情况被唤醒?
我查看了相关帖子说要设置app_default_sleep_mode = ARCH_SLEEP_OFF,DSPS工程实现和手机APP透传数据时才稳定。
我是我觉得的
如果(条件1 ==真){
// DA14583进入EXT_SLEEP模式
}别的 {
//实现的DSP,及DA14583外设相关操作
}
当DA14583在EXT_SLEEP模式下由按键和BLE事件(ke_timer_set)唤醒DA14583

P.S我要发表当app_default_sleep_mode = arch_ext_sleep_on的时装,程序运行2s左右就进入进入进入状态设置 - > gpio_setactive(LED_PORT,LED_PIN);
而(1){
......
如果((SLEEP_MODE == mode_ext_sleep)||(SLEEP_MODE == mode_deep_sleep)){
gpio_setactive(LED_PORT,LED_PIN);
//关闭收音机,无论允许的信息
arch_goto_sleep(SLEEP_MODE);
......
2.宏定义:#define cfg_max_sleep_duration_external_wakeup_ms 10000 // 10s
请问该变量的宏定义10S的含义是什么?跟按键唤醒功能有关系么?
3.请问在DSPS工程下,如何设置进入EXT_SLEEP模式?如何判断DA14583已经进入EXT_SLEEP模式?
问题有点多,期待技术支持!

设备:
Gongyu_dialog.
离线
最后一次露面:1周5天前
加入:2016-04-27 07:07
1.开启延长休眠传输数据,并没有不稳定

1.开启延长睡眠传输数码,哈利在个人电脑的串口串口工具里设置流控。如果不仅,之字,之前看到容易手sleep数码会出现乱码。扩音睡眠进入的条件,可以查看rwip_sleep次数。主要就是检查内核的状态和射频模块等。唤醒的条件,一般来说是gpio的唤醒中间,还有着内核里的计时器♥。

2.这个时间是设定的单次睡眠允许的最长时间初始值。以在rwip_sleep函数里的ke_timer_sleep_check和lld_sleep_check的参数为例说明。现在第一个参数在内核有定时器开启的情况下,sleep_duration设置的就“cfg_max_sleep_duration_external_wakeup_ms”
通讯之梦leep_duration = jump_table_struct [max_sleep_duration_external_wakeup_pos];获得;第二第二函数是给第二的设备时间rwip_env.wakeup_delay。

,返回true;如果如果个值比sleep_duration小,但超过wakeup_delay,更新leep_duration的值,仍然返回真,可以。栈睡眠的时间。所以目前蓝牙协议协议菜单次更多是睡睡10s。这个和按键的中间有关键词。

3.

索引219.
离线
最后一次露面:1年4个月前
加入:2016年5月23日07:00
非常感谢。

非常感谢。
1.现在我在DSP工程中设置设置载荷_default_sleep_mode = arch_sleep_off;关键词模式的下面,我该如何动手设置da14583让进入延长睡觉?
我的是:当条件1等于真的时机如下作作品,但实际测试da14583延长睡眠下,我有arch_printf(“%d:mode \ r \ n”,__ line__);一件在打印。
而(1)
{
做 {
//进度的所有等待事件
schedule_while_ble_on();
}
而((app_asynch_proc())));//将控制权授予该应用程序,尝试去到断电
......
如果(条件1 ==真){
条件1 =假;
arch_set_sleep_mode(ARCH_EXT_SLEEP_ON);
}
}

3.我在打开smartsnippet连接待测的设备,然后在界面上选择SPI / UART模式,SPI / UART模式选项下没有可选项,请问smartsnippet检测电流power_profile的功能是针对官方开发板的么?
P.S我是不是用来的开采舞蹈,在Smartsnippet,♥Uart模式下是有可能的,我也是通讯Smartsnippet->靴子下载到DA110183。
期刊@gongyu_dialog回复。

Gongyu_dialog.
离线
最后一次露面:1周5天前
加入:2016-04-27 07:07
1.应该直接调用就行,但你有打印的话,看UART

1.应该直接调调使用就行,但你有打印的,看uart_callback函数里,看uart_callbackandiri面是没没法使用到arch_restore_sleep_mode的。
2.测电流的功能,应该是在官方开发板的,你也可以用示波器上测。

索引219.
离线
最后一次露面:1年4个月前
加入:2016年5月23日07:00
1.我关闭了所有打印信息,在一段时间(1

1.我关闭了所有打印信息,而在(1)里面添加一个LED的状态控制,当调用arch_set_sleep_mode(ARCH_EXT_SLEEP_ON);后,LED的状态还是一直闪烁,表明没有进入延长休眠模式下。
静态UINT8_T状态= 0;
而(1)
{
做 {
//进度的所有等待事件
schedule_while_ble_on();
}
而((app_asynch_proc())));//将控制权授予该应用程序,尝试去到断电
//如果应用程序返回GOTO_SLEEP
//((STREAMDATA_QUEUE)&& stream_queue_more_data()));//授权控制拖缆,尽量去断电
......
如果(条件1 ==真){
条件1 =假;
arch_set_sleep_mode(ARCH_EXT_SLEEP_ON);
}

// 500ms执行一卷
如果(500毫秒时间到){
如果(状态== 0){
国家= 1;
gpio_setactive(LED2_PORT,LED2_PIN);
}别的 {
状态= 0;
GPIO_SetInactive(LED2_PORT,LED2_PIN);
}
}
@Gongyu_Dialog直接配置arch_set_sleep_mode(ARCH_EXT_SLEEP_ON);后DA14583并没有进入延长休眠模式下,请指导一下,还有其他需要注意或者配置的么?

Gongyu_dialog.
离线
最后一次露面:1周5天前
加入:2016-04-27 07:07
你还需要把ble里奇的计时器和事件关键词

你还需要把ble里奇的计时器和事件关键词,只让外面来唤醒。否则还会把你加入灯代码代码的地方
所以所以需要加一句:arch_ble_ext_wakeup_on();

可以参考一下SDK里的user_proxr.c文件里的
app_button_enable函数以及app_wakeup_cb函数

索引219.
离线
最后一次露面:1年4个月前
加入:2016年5月23日07:00
我添加后

我添加后
如果(条件1 ==真){
条件1 =假;
ARCH_BLE_EXT_WAKEUP_ON();
arch_set_sleep_mode(ARCH_EXT_SLEEP_ON);
}
代码运行还会跑到灯控制控制代码代码代码分。

user_proxr.c里面app_button_enable函数以及app_wakeup_cb函数都是关键词键唤醒的逻辑,
没有关于如何进入延长休眠模式的操作!或者是我没有找到,请指导下!
非常感谢。

索引219.
离线
最后一次露面:1年4个月前
加入:2016年5月23日07:00
你好,可以麻烦你使用官方开发板测试下DSPS_v_5

你好,可以是你是用途开采开发板测试下DSPS_V_5.150.2工程,
配置配置下数:
量静态sleep_state_t app_default_sleep_mode = ARCH_SLEEP_OFF;
#定义CFG_MEM_MAP_EXT_SLEEP
和#undef CFG_MEM_MAP_DEEP_SLEEP

在工程中(1){
//条件触发以下操作,判断DA14583是否进入ext_sleep模式
arch_set_sleep_mode(ARCH_EXT_SLEEP_ON);
ARCH_BLE_EXT_WAKEUP_ON();
}
非常感谢!

Gongyu_dialog.
离线
最后一次露面:1周5天前
加入:2016-04-27 07:07
直接直接用,可以进入,但会被默认的广播程程唤醒

直接直接用,可以进入睡眠,但会被默认的广播程。延伸睡眠不可能在WFI指令不动箱。仍然会被被栈的消息唤醒。
arch_set_sleep_mode(ARCH_EXT_SLEEP_ON);
ARCH_BLE_EXT_WAKEUP_ON();

如果你需要代码停停在WFI指令之前,并且通话gpio状态显示的状态,就需要把广播掉的。
户外,就是GPIO的电平,在进入睡眠后即使外电源关键词的下面,会保留之后的状态。

我遇里通过按键进入睡眠的模式,通俗gpio可观察。
*空隙app_button_press_cb(无效)
{
如果(GetBits16(SYS_STAT_REG,PER_IS_DOWN)){
periph_init();
}
if(arch_get_sleep_mode()== arch_sleep_off)
{
app_easy_gap_advertise_stop();//关掉广播
arch_set_sleep_mode(ARCH_EXT_SLEEP_ON);
ARCH_BLE_EXT_WAKEUP_ON();
}
app_button_enable(); //
}

×关键词的相关代码
空隙user_app_adv_start(无效)
{
//安排下一个广告数据更新
// app_addata_update_timer_used = app_easy_timer(app_addata_update_to,adv_data_update_timer_cb);//删掉可以关掉广播的操作

结构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));

app_easy_gap_undircated_advertise_start();
}
×关掉默认回调函数的广播操作
void user_app_add_undirect_complete(uint8_t状态)
{
//如果广告被取消,则更新广告数据并再次启动广告

如果(状态== GAP_ERR_CANCELED)
{
// user_app_adv_start(); //防止防止用相关性,广播默认又从来
}

}

×添加GPIO函数在
而(1)
{
做 {
test_gpio1(1);-------------------------------------------------------------- //拉高GPIO
//进度的所有等待事件
schedule_while_ble_on();
}
而((app_asynch_proc())));//将控制权授予该应用程序,尝试去到断电
//如果应用程序返回GOTO_SLEEP
//((STREAMDATA_QUEUE)&& stream_queue_more_data()));//授权控制拖缆,尽量去断电
//如果应用程序返回GOTO_SLEEP
//等待中断,如果允许这样做,请睡觉
如果(((!BLE_APP_PRESENT)&&(check_gtl_state()))||
(BLE_APP_PRESENT))
{
//禁止中断
GLOBAL_INT_STOP();

app_asynch_sleep_proc();

//得到允许的睡眠模式
//从rwip_power_down()到wfi()的时间必须尽可能短!!
sleep_mode = rwip_power_down();

如果((SLEEP_MODE == mode_ext_sleep)||(SLEEP_MODE == mode_deep_sleep)){
//关闭收音机,无论允许的信息
test_gpio1(0);// ----------------------------------------------------------------------------拉赫GPIO,在下载的数量关节外电器之设置
arch_goto_sleep(SLEEP_MODE);

//等待中断恢复操作

WFI();

//恢复操作
ARCH_RESUME_FROM_SLEEP();
}

......

索引219.
离线
最后一次露面:1年4个月前
加入:2016年5月23日07:00
非常感谢,我在dsps_v_5.150

非常感谢,我在dsps_v_5.150.2下载按键进入延长睡眠模式的次数,并且添加一句led1状态至高,
if(arch_get_sleep_mode()== arch_sleep_off)
{
GPIO_SetActive(LED1_PORT,LED1_PIN);//确认响应到了按键
app_easy_gap_advertise_stop();//关掉广播
arch_set_sleep_mode(ARCH_EXT_SLEEP_ON);
ARCH_BLE_EXT_WAKEUP_ON();
}
同样在下面地区置低led1作用是延长睡眠模式的模式
......
如果((SLEEP_MODE == mode_ext_sleep)||(SLEEP_MODE == mode_deep_sleep)){
//关闭收音机,无论允许的信息
// test_gpio1(0);// ----------------------------------------------------------------------------拉赫GPIO,在下载的数量关节外电器之设置
GPIO_SetInactive(LED1_PORT,LED1_PIN);
arch_goto_sleep(SLEEP_MODE);
......
结果led1状态一定是高,没有进入延长睡眠。
问题1:请请下工程DSPS_V_5.150.2下载的广播流程唤醒的地区有哪些?
问题2:da14583在进入延长休眠模式后,IO口状态是保持掉电前的状态,所以我添加如下代码
而(1)
{
做 {
//进度的所有等待事件
schedule_while_ble_on();
}
而((app_asynch_proc())));//将控制权授予该应用程序,尝试去到断电
......
toggle_led2(500);// 500ms的周期闪烁
}
在进行了按键操作,进入延长休眠后,若DA14583成功进入该模式,
LED2的状态只有一种把,要么高,要么低。而我的现象是按键触发后,LED2还是在闪烁。
这个现象也说明DA14583无所地延长睡眠把。

期间回复中。

Gongyu_dialog.
离线
最后一次露面:1周5天前
加入:2016-04-27 07:07
之后和你用的工程不一一,对于DSP工程

之前和你用的工程不一样,对于DSP的工程,你还需要加个函数把app_default_sleep_mode值改掉。因为在user_sps_sleep_check函数和user_sps_sleep_restore函数还会用到。
另外,就是DSP的工程里面的关广播的操作,不会在关后又再重启广播。所以保持默认的就行了。直接调用关广播的函数就可以了。

void app_button_press_cb(void)
{
如果(GetBits16(SYS_STAT_REG,PER_IS_DOWN)){
periph_init();
}

if(arch_get_sleep_mode()== arch_sleep_off)
{
app_easy_gap_advertise_stop();
arch_set_sleep_mode(ARCH_EXT_SLEEP_ON);
user_sps_set_mode(ARCH_EXT_SLEEP_ON); -----------------
user_scheduler_reinit(); //
ARCH_BLE_EXT_WAKEUP_ON();
}
app_button_enable();
}

void user_sps_set_mode(uint8_t模式)
{
app_default_sleep_mode = mode;
}

索引219.
离线
最后一次露面:1年4个月前
加入:2016年5月23日07:00
非常感谢,按照如上设置后

非常非常,按照按照上设置后,da14583成熟延长睡眠模式下。

zslstantly
离线
最后一次露面:4年1个月前
加入:2016年8月15日06:54
我用的是DSPS_v_5.150.2代码

我用的是DSPS_v_5.150.2代码,我如何设置进入到EXT_SLEEP呢?我将app_default_sleep_mode = ARCH_EXT_SLEEP_ON打开,#是undef CFG_DEVELOPMENT_DEBUG,因为我的设备不允许用流控,将和#undef CFG_UART_HW_FLOW_CTRL,#是undef CFG_UART_SW_FLOW_CTRL,下载到外接FLASH,我用的是14580,但是功耗不正确,BLE接收数据正确,发送数据确不稳定,能否实现呢?请指教,谢谢!

zslstantly
离线
最后一次露面:4年1个月前
加入:2016年8月15日06:54
我如果开软件流控流控的,PC端一直11,13

我如果开软件软件流控的,PC端一直接收11,13,而且批发数码不正式,谢谢!

多米南
离线
最后一次露面:3年9个月前
加入:2016年10月17日09:42
使用的是SDK5.04的PROX_REPORTER

用的是SDK5.04的PROX_REPORTER,进入扩展睡眠模式后,电影在460ua左右,怎么都降不下来,jtag去掉也一圈,有没有人遇到过〗的问题?