17个帖子/ 0新
最后一篇
SongSayit.
离线
最后一次露面:3年9个月前
加入:2016-05-31 13:35
唤醒键问题

功能需求:
多重管脚能唤醒..
问题描述:
我看应用程序按钮,他的wkupct_enable_irq只能使用作一个呢?我有多个管脚唤醒。怎么弄呢?

设备:
Gongyu_dialog.
离线
最后一次露面:1天21小时前
加入:2016-04-27 07:07
建议你看一下鼠标的演示工程。

建议你看一下鼠标的演示工程。

空白app_kbd_enable_wakeup_irq(空白)
{
// P10(MOT),P11(BL),P07(BM),P01(BR)
const uint32_t sel_pins =((1 << 7)|(1 << 1))|(((1 << 1)|(1 << 0))<< 8);//支持几路gpio做唤醒
const uint32_t pol_pins =((!middle_button_pressed << 7)|(!right_button_pressed << 1))|(((!left_button_pressed << 1)|(1 << 0))<< 8);

wkupct_register_callback(wakeup_handler);// todo:不需要始终调用一次,只在appl期间一次。初始化。

wkupct_enable_irq(sel_pins, pol_pins, WAKEUP_EVENTS_QUOTA, WAKEUP_KEY_DEBOUNCING_TIME_IN_MS);
}

SongSayit.
离线
最后一次露面:3年9个月前
加入:2016-05-31 13:35
我这样试的。可不行哦

我这样试的。可不行哦
wkupct_enable_irq(wkupct_pin_select(gpio_button_port,gpio_button_pin)
|wkupct_pin_select(gpio_dismantle_check2_port,gpio_dismantle_check2_pin)
,//选择PIN(GPIO_BUTTON_PORT,GPIO_BUTTON_PIN)

wkupct_pin_polarity(gpio_button_port,gpio_button_pin,wkupct_pin_polarity_high)
|wkupct_pin_polarity(gpio_dismantle_check2_port,gpio_dismantle_check2_pin,wkupct_pin_polarity_high)
,//极性高
1,// 1事件
0x30);// debouncing time = 0

}

SongSayit.
离线
最后一次露面:3年9个月前
加入:2016-05-31 13:35
鼠标的演示工程不在SDK5.0.3和5.0

鼠标的演示工程不在SDK5.0.3和5.0.4中的啊

Gongyu_dialog.
离线
最后一次露面:1天21小时前
加入:2016-04-27 07:07
鼠标是单击的项目,可以在参考

鼠标是单独的项目,可以在参考设计里,在参考设计里。你现在所在的不行的是什么是不行的?

SongSayit.
离线
最后一次露面:3年9个月前
加入:2016-05-31 13:35
如果单位设置一个按键,那个按键是没问题的,

如果单独设置一个按键,那个按键是没问题的,可是上面其他一个,却导致2个按键都有唤醒系统的了!

SongSayit.
离线
最后一次露面:3年9个月前
加入:2016-05-31 13:35
你是有没有试过的?为什么我会讨会不行的?

你是有没有试过的?为什么我会讨会不行的?我直接使用的是5.0.3的prox_reporter工程里的user_proxr.c他原原个个个个个个个个个个一一就就个个我看他按键的或,所以所以添加了一个。加加上去后,原来那个按键都不能系统了。我的系统睡眠模式是arch_ext_sleep_on。
另外我要看在user_periph_setup.h里面定义了wkup_enabled的。

SongSayit.
离线
最后一次露面:3年9个月前
加入:2016-05-31 13:35
有人回应一下子?在用英语翻译

有人回应一下子?在用英语翻译

Gongyu_dialog.
离线
最后一次露面:1天21小时前
加入:2016-04-27 07:07
问我里可以的,加入了一卷按钮2,然后在应用程序

我总是可以的,加入了一卷Button2,然后在app_button_press_cb里打印信仰

void app_button_enable(void)
{
app_easy_wakeup_set(app_wakeup_cb);
wkupct_register_callback(app_button_press_cb);
#if use_push_button.
if(gpio_getpinstatus(gpio_button_port,gpio_button_pin))
wkupct_enable_irq(wkupct_pin_select(gpio_button_port,gpio_button_pin)| wkupct_pin_select(gpio_button2_port,gpio_button2_pin),//选择pin(gpio_button_port,gpio_button_pin)
wkupct_pin_polarity(gpio_button_port,gpio_button_pin,wkupct_pin_polarity_low)|wkupct_pin_polarity(gpio_button2_port,gpio_button2_pin,wkupct_pin_polarity_low),//极性低
1,// 1事件
0);// debouncing time = 0
#万一
}

SongSayit.
离线
最后一次露面:3年9个月前
加入:2016-05-31 13:35
既然你可以是信息,证明你是在非非深度睡眠.

既然你可以是信息,证明你是在非非深度睡眠.请尝试在arch_ext_sleep_on状态下测试一下。谢谢。
而且我发现在ARCH_EXT_SLEEP_ON唤醒后,有点其他奇怪现象。这个暂不论吧.后面再请教一下.

Gongyu_dialog.
离线
最后一次露面:1天21小时前
加入:2016-04-27 07:07
就是在const static sleep_state

就是在const静态sleep_state_t app_default_sleep_mode = arch_ext_sleep_on;

打印我是竟在外面电力来后。

void app_button_press_cb(void)
{
.................
if(getBits16(sys_stat_reg,per_is_down))
periph_init();

printf_string(“hello \ n”);///
}

void UART_SEND_BYTE(CHAR CH)
{
而((getword16(UART_LSR_REG)&0x20)== 0);//读取状态reg以检查thr是否为空
setword16(UART_RBR_THR_DLL_REG,(0xFF&CH));//写入thr寄存器
}

void printf_string(char * str)
{
而(* str!='\ 0')
{//未到达最后一个字符串字符
UART_SEND_BYTE(* str);//发送下一个字符串字符
str ++;
}
}

SongSayit.
离线
最后一次露面:3年9个月前
加入:2016-05-31 13:35
谢谢。我明天把你代码使用到我的系统上行不行。

谢谢。我明天把你代码使用到我的系统上行不行。
为我观察,是我的OLED屏屏点亮。当我发给我发表单个按键跑时,正负屏唤醒3s后再灭屏灭屏,但是实际测试时,发表的是一张一下,马上又灭。
明天上班再测测看看咯。

别开我要想一下,你们那边是不是不可思议的力量更多地在sdk5.0.4上的?“为我看8月8号发布了sdk5.0.4。我现在用的是5.0.3。

SongSayit.
离线
最后一次露面:3年9个月前
加入:2016-05-31 13:35
你好.我按照你说的,

你好.我按照你说的,
首先,在user_perph_setup.cir的set_pad_functions()分数里面化串口:
GPIO_CONFIGUREPIN(UART_GPIO_PORT,UART_TX_PIN,OUTPUT,PID_UART1_TX,FALSE);
GPIO_CONFIGUREPIN(UART_GPIO_PORT,UART_RX_PIN,INPUT,PID_UART1_RX,FALSE);
setBits16(CLK_PER_REG,UART1_ENABLE,1);//为UART 1启用时钟
UART_INIT(UART_BAUDRATE,UART_DATALENGTH);

然后在app_button_press_cb加加打印我是在arch_main.c里屏蔽掉
// ARCH_TURN_PERINITALLE_OFF(Sleep_Mode);
否则打印不行来。

户外发出有时打印出乱码。
【2016-08-19 11:56:56:454】】?
【2016-08-19 11:56:56:712】?!!! q蓂a)?>醕丢失

SongSayit.
离线
最后一次露面:3年9个月前
加入:2016-05-31 13:35
打印乱码的时髦,就是我程序控制不正常的时髦。

打印乱码的时髦,就是我程序控制不正常的时髦。
我握用了一个定时器来到时自动关键词。正式的时代是亮屏3s,自动关心。但当不正常时,他亮屏后,就马上灭屏。我从打印日志中看到,这个是他调用了时的处理程序。
【2016-08-19 14:15:23:071】鰴?憽q
【2016-08-19 14:15:23:329】?!!! q蓂a)?{close

【2016-08-19 14:15:23:538】手

是的。不法是正时之时的

SongSayit.
离线
最后一次露面:3年9个月前
加入:2016-05-31 13:35
是不是不是在APP_BUTTON_PRESS_CB()

是不可能在App_button_press_cb()里调用作多种的分数。
我这边把他弄到app_wakeup_cb()函数里再测试看看。

Gongyu_dialog.
离线
最后一次露面:1天21小时前
加入:2016-04-27 07:07
SDK5.0.4刚发布,所以也在熟悉阶段

SDK5.0.4刚发布,所以也在熟悉阶段

Gongyu_dialog.
离线
最后一次露面:1天21小时前
加入:2016-04-27 07:07
打印乱码确实会出现,为刚刚,为唤醒状态,16米还不稳定。

打印乱码确实会出现,为刚刚,为唤醒状态,16米还不稳定。
但是不会让你说种种情况。

然后在app_button_press_cb加加打印我是在arch_main.c里屏蔽掉
// ARCH_TURN_PERINITALLE_OFF(Sleep_Mode);
否则打印不行来。