5个帖子/ 0新
最后一篇
ROC0106.
离线
最后一次露面:3个月2周前
加入:2016-08-31 01:55
da14681-01休眠唤醒问题

对话:

你好!

我根据“kbscn_demo”案例添加一个休眠唤醒功能!
在工程销有的行行任何定时代是时候是可以的。可在当行时的!可在当行时代因子任务后休眠就无法正确常唤醒!
不到有没有什么设置没有设置到,请指教!
谢谢!!!

#define user_timer_notif(1 << 3)

static const ad_kbscn_pin_setup kbscn_row [] = {
ad_kbscn_pin_setup(hw_gpio_port_4,hw_gpio_pin_1),
// ad_kbscn_pin_setup(hw_gpio_port_4,hw_gpio_pin_1),
// ad_kbscn_pin_setup(hw_gpio_port_4,hw_gpio_pin_2),
// ad_kbscn_pin_setup(hw_gpio_port_4,hw_gpio_pin_3),
};

static const ad_kbscn_pin_setup kbscn_col [] = {
ad_kbscn_pin_setup(hw_gpio_port_3,hw_gpio_pin_6),
ad_kbscn_pin_setup(hw_gpio_port_4,hw_gpio_pin_0),
// ad_kbscn_pin_setup(hw_gpio_port_4,hw_gpio_pin_6),
// ad_kbscn_pin_setup(hw_gpio_port_4,hw_gpio_pin_7),
};

静态const char kbscn_matrix [] = {
'*','#',
//'1','2','3','a',
//'4','5','6','b',
//'7','8','9','c',
//'*','0','#','d',
};

静态void kbscn_cb(ad_kbscn_event事件,char c);
/ *
static const ad_kbscn_config kbscn_config = ad_kbscn_config_with_inactive_time(kbscn_row,kbscn_col,kbscn_matrix,
ad_kbscn_clock_div_16,150,10,10,127,
kbscn_cb);
* /
static const ad_kbscn_config kbscn_config = ad_kbscn_config(kbscn_row,kbscn_col,kbscn_matrix,
ad_kbscn_clock_div_16,150,10,10,
kbscn_cb);

privileged_data os_task app_task;

/ *
*当CANCEL_SLEEP是真正的假装时,始终防止平台睡眠。
*这允许检查键盘扫描仪适配器的电源管理方面
*在睡眠启动时具有正确的行为,后来取消。
* /
privileged_data bool cancel_sleep = false;

静态BOOL PROADING_FOR_SLEEP_CB(void)
{
返回!cancel_sleep;
}

static const adapter_call_backs_t pm_callbacks = {
.ad_prepare_for_sleep = prepaser_for_sleep_cb,
};

/ *
* key_fifo_size必须是2的功率,以获得最佳性能
* /
#define key_fifo_size 32.
#if key_fifo_size&(key_fifo_size - 1)
#错误“key_fifo_size必须是2”的电源
#万一

privileged_data static char key_fifo [key_fifo_size];
privileged_data static size_t key_fifo_h;
privileged_data静态size_t key_fifo_t;

静态void kbscn_cb(ad_kbscn_event事件,char c)
{
if(事件!= ad_kbscn_event_pressed){
返回;
}

key_fifo [key_fifo_t] = c;
key_fifo_t ++;
key_fifo_t%= key_fifo_size;

OS_TASK_NOTIFY_FROM_ISR(APP_TASK,USER_TIMER_NOTIF,OS_NOTIFY_SET_BITS);
}

void kbscn_task_init(void)
{
BOOL RET;
hw_gpio_configure_pin(hw_gpio_port_4,hw_gpio_pin_1,hw_gpio_mode_output,hw_gpio_func_gpio,false); //
app_task = os_get_current_task();

pm_register_adapter(&pm_callbacks);
ret = ad_kbscn_init(&kbscn_config);
Assert_Warning(RET);
}

void kbscn_task(uint32_t notif)
{
if(notef&user_timer_notif){
os_enter_critical_section();
if(key_fifo_h == key_fifo_t){
os_leave_critical_section();
} else {
os_leave_critical_section();

char c = key_fifo [key_fifo_h];
key_fifo_h ++;
key_fifo_h%= key_fifo_size;

printf(“%c”,c);
fflush(stdout);
if(c =='*'){
printf(“%c \ r \ n”,c);
printf(“%d \ n”,pm_get_sleep_mode());
if(pm_get_sleep_mode()== pm_mode_active){
printf(“恢复睡眠\ n”);
pm_resume_sleep();
printf(“%d \ n”,pm_get_sleep_mode());
} else {
Printf(“保持活力\ n”);
pm_stay_alive();
printf(“%d \ n”,pm_get_sleep_mode());
}
}如果(c =='#'){
printf(“%c \ r \ n”,c);
// cancel_sleep =!cancel_sleep;
// if(cancel_sleep){
// printf(“取消睡眠\ n”);
//} else {
// printf(“取消休眠禁用\ n”);
//}
}
}
}
}

设备:
cyibin.
离线
最后一次露面:3个月3周前
员工
加入:2017-12-14 02:48
您好,

您好,

我看您在论坛上游更多68x的api接口接口,使使的问题;方便的话话下方,以便提高通效率

ROC0106.
离线
最后一次露面:3个月2周前
加入:2016-08-31 01:55
你好

你好

最近一定在用681次开发遇到点,感谢你们的解答

我的谎是Renpeng0106@163.com.

cyibin.
离线
最后一次露面:3个月3周前
员工
加入:2017-12-14 02:48
好的,已经已经与您,请请注意查看

好的,已经已经与您,请请注意查看

Lanxuefeng1644
离线
最后一次露面:1周6小时前
加入:2020-03-03 06:28
你好,我在使用1468x的历程中遇到点问题

你好,我在使用1468x的演艺中间遇到点,请问可请教一下您?我的QQ:250318049,用QQ邮箱溜通亦可