POWER KEY 的两种检测方法

本文介绍了在mdm9x07芯片平台上检测电源键的两种方法。一种是通过读取/dev/input/event0的input事件进行检测,另一种是查看PMIC寄存器0x00000800和0x810的状态来判断电源键是否被按下。
摘要由CSDN通过智能技术生成

芯片平台:mdm9x07

第一种方法当然是用 input 事件 event。

/dev/input/event0

测试代码如下:

#include "stdio.h"
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <linux/input.h>


int main()
{
	int keys_fd;	                 //按键句柄	


	struct input_event t;
      
    keys_fd = open("/dev/input/event0", O_RDONLY);

	if(keys_fd<=0)
	{
                printf("open /dev/input/event0 device error!\n");
		return 0;
	}

	while(1)
	{	
		
       if(read(keys_fd,&t,sizeof(t))==sizeof(t)) 
	  {
		  printf("hjb type:%d,coe:%d,value:%d,time: %d\n",t.type,t.code,t.value,t.time);
		 if(t.type==EV_KEY)			//获取的是按键消息
		{
			
			if(t.value==1)
			{	
				printf("key %d Pressed time: %d\n",t.code,t.time);
			}
			if(t.value==0)    //返回值是1或者0
   			    printf("key %d %s\n",t.code,(t.value)?"Pressed&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值