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

对话:

你好!

我“ kbscn_demo”案例案例添加休眠唤醒!!
在工程任何时器时可以休眠和的!可是在执行执行定时器任务后后休眠就无法无法
不知道有没有设置,请到,请!!!
谢谢!!!

#define user_timer_notif(1 << 3)

静态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),
};

静态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);
/*
静态const ad_kbscn_config kbscn_config = ad_kbsccn_config_with_inactive_time(kbscn_row,kbsccn_col,kbsccn_col,kbsccn_matrix,
ad_kbscn_clock_div_16,150,10,10,127,
kbscn_cb);
*/
静态const ad_kbscn_config kbscn_config = ad_kbsccn_config(kbscn_row,kbscn_col,kbsccn_matrix,
ad_kbscn_clock_div_16,150,10,10,
kbscn_cb);

prifileged_data os_task app_task;

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

静态bool prepar_for_sleep_cb(void)
{
返回!cancel_sleep;
}

静态const adapter_call_backs_t pm_callbacks = {
.ad_prepare_for_sleep = prepar_for_sleep_cb,
};

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

prifileged_data static char key_fifo [key_fifo_size];
prifileged_data static size_t key_fifo_h;
prifileged_data static size_t key_fifo_t;

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

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(notif&user_timer_notif){
os_enter_critical_section();
if(key_fifo_h == key_fifo_t){
os_leave_critical_section();
} 别的{
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);
如果(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());
} 别的{
printf(“保持活着\ n”);
pm_stay_alive();
printf(“%d \ n”,pm_get_sleep_mode());
}
} else if(c =='#'){
printf(“%c \ r \ n”,c);
// cancel_sleep =!cancel_sleep;
// if(cancel_sleep){
// printf(“取消启用睡眠\ n”);
// } 别的 {
// printf(“取消睡眠禁用\ n”);
//}
}
}
}
}

设备:
氰基蛋白
离线
最后一次露面:9个月3周前
职员
加入:2017-12-14 02:48
您,,

您,,

68x的的的的的的上提问了接口接口,,的的问题;方便方便的的话话话留下联系联系方式方式方式

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

你好

681做开发遇到点问题,感谢问题问题问题解答解答解答

我的邮箱是renpeng0106@163.com

氰基蛋白
离线
最后一次露面:9个月3周前
职员
加入:2017-12-14 02:48
好的,已经您联系,请请邮箱邮箱邮箱

好的,已经您联系,请请邮箱邮箱邮箱

LANXUEFENG1644
离线
最后一次露面:4个月4天前
加入:2020-03-03 06:28
你好,我在使用1468x的的问题问题问题

你好,1468x的的问题问题问题问题问题问题问题问题问题可以请教请教一下一下您的的的的的的的的的的:250318049,用