您尚未登录。

楼主 #1 2018-02-08 08:51:05

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,348
积分: 9202

X1000 phoenix 添加 旋转编码器驱动程序

1.  X1000/platform/kernel/arch/mips/xburst/soc-x1000/chip-x1000/phoenix/common/board_base.c

添加平台驱动与平台设备代码:

#include <linux/input.h>
#include <linux/rotary_encoder.h>

//#define GPIO_ROTARY_A 1
//#define GPIO_ROTARY_B 2

static struct rotary_encoder_platform_data my_rotary_encoder_info = {
	.steps		= 24,
	.axis		= ABS_X,
	.relative_axis	= false,
	.rollover	= false,
	.gpio_a		= GPIO_PC(5), //GPIO_ROTARY_A, 填入实际引脚A
	.gpio_b		= GPIO_PC(4), //GPIO_ROTARY_B, 填入实际引脚B
	.inverted_a	= 0,
	.inverted_b	= 0,
	.half_period	= false,
	//.wakeup_source	= false,
};

static struct platform_device rotary_encoder_device = {
	.name		= "rotary-encoder",
	.id		= 0,
	.dev		= {
		.platform_data = &my_rotary_encoder_info,
	}
};

添加设备:
    DEF_DEVICE(&rotary_encoder_device, 0, 0),



2.  make menuconfig

            勾选旋转编码器驱动:

              Device Drivers  --->      Input device support  --->  Miscellaneous devices  
--->     <*>   Rotary encoders connected to GPIO pins

f25fd6c3c0940fe4d4cb778a4f47f5e9.jpg

       选中用户接口, 使驱动产生 /dev/input/eventX 设备

              Device Drivers  --->      Input device support  --->    <*>   Event interface

6d007a0a02c55d2d52509a0b1ecf91f5.jpg

3. 下载编译  http://elinux.org/images/9/93/Evtest.c
    执行 evtest /dev/input/eventX
47fa55f24a13893824d649a30045500a.jpg





离线

#2 2019-03-16 09:27:13

超级萌新
会员
注册时间: 2018-05-04
已发帖子: 408
积分: 407

Re: X1000 phoenix 添加 旋转编码器驱动程序

这个顶起,我打算在V3s也加上旋转编码器。

是不是两个脚都要接中断脚上?

离线

#3 2019-03-16 09:32:42

微凉VeiLiang
会员
所在地: 深圳
注册时间: 2018-10-28
已发帖子: 630
积分: 525
个人网站

Re: X1000 phoenix 添加 旋转编码器驱动程序

旋转编码器,正交解码,让我想起了飞思卡尔智能车

离线

#4 2019-03-16 10:23:37

超级萌新
会员
注册时间: 2018-05-04
已发帖子: 408
积分: 407

Re: X1000 phoenix 添加 旋转编码器驱动程序

微凉VeiLiang 说:

旋转编码器,正交解码,让我想起了飞思卡尔智能车

一看就是参加过竞赛的

离线

#5 2019-03-16 10:24:17

jimmy
会员
注册时间: 2017-10-29
已发帖子: 316
积分: 315

Re: X1000 phoenix 添加 旋转编码器驱动程序

Linux里面驱动真全,这个都有

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn