input:ABS_DISTANCE上报空指针错误
2015-11-20 16:20
417 查看
在probe函数中设置事件类型EV_ABS和支持的事件码ABS_DISTANCE:
运行程序,每次到上报时候就会出现空指针错误,内核就跑飞了。
解决办法:
因为ABS_DISTANCE需要使用下面的函数设置相关的参数,如距离的最小,最大值等。才能正常上报。
添加如下内容在probe函数中。
函数定义如下:
input_set_capability(input_dev, EV_ABS, ABS_DISTANCE);然后在工作队列里上报传感器的数据:
input_report_abs(dt->input, ABS_DISTANCE, 1); input_sync(dt->input);
运行程序,每次到上报时候就会出现空指针错误,内核就跑飞了。
解决办法:
因为ABS_DISTANCE需要使用下面的函数设置相关的参数,如距离的最小,最大值等。才能正常上报。
添加如下内容在probe函数中。
input_set_abs_params(input_dev, ABS_DISTANCE, 0, 1, 0, 0);
函数定义如下:
void input_set_abs_params(struct input_dev *dev, unsigned int axis, <span> </span> int min, int max, int fuzz, int flat) { <span> </span>struct input_absinfo *absinfo; <span> </span>input_alloc_absinfo(dev); <span> </span>if (!dev->absinfo) <span> </span>return; <span> </span>absinfo = &dev->absinfo[axis]; <span> </span>absinfo->minimum = min; <span> </span>absinfo->maximum = max; <span> </span>absinfo->fuzz = fuzz; <span> </span>absinfo->flat = flat; <span> </span>dev->absbit[BIT_WORD(axis)] |= BIT_MASK(axis); }
相关文章推荐
- JAVA静态变量和实例变量的区别
- I.MX6 linux eGalaxTouch 自动获取设备节点
- (C# Binary Tree) 基本概念和算法
- Android Studio快捷键设置之实现原eclipse中ctrl+m的全屏的效果
- 抽象工厂模式(Abastract Factory Pattern)
- iOS之使用MapKit通过经纬度坐标画线
- table 根据选择的radio得到td其他属性的值(top.$.jBox)
- 关于UGUI的EventSystem的学习
- 基于jquery的多彩百分比 动态进度条 投票效果显示效果实现代码
- 获取IP地址
- 那些年,我们一起追的面试题。。to be continued!!!
- table 根据选择的radio得到td其他属性的值(top.$.jBox)
- iOS之使用MapKit通过经纬度坐标画线
- 关于stl advance函数移动步数超过容器大小(越界)的研究
- 微软算法100道题-----输入一个表示整数的字符串,把该字符串转换成整数并输出
- linux脚本攻略笔记-grep的相关知识总结
- java面试题整理
- ubuntu InsecurePlatformWarning:
- Mssql: provider:命名管道提供程序,error:40 - 无法打开到SQL Serve
- 数据库 之 范式浅析