九鼎创展论坛

标题: 如何添加按键驱动? [打印本页]

作者: hanping1020911    时间: 2016-11-15 16:16
标题: 如何添加按键驱动?

我想在咱的开发板上引出GPIO口,作为按键功能,如何修改驱动程序,可以让按键按下去,可以在串口打印按下的动作?开发板有的按键可以打印,我新引出的按键却不可以。
如引出GPIOE13,让它作为按键GPIO功能,我该如何修改呢?
作者: lxz    时间: 2016-11-15 19:48
以ibox4418的bak键位来解答你的这个问题,先查硬件手册以及原理图,确定GPIO口,这里的bak键位度对应的GPIO口为GPIOA28,先找cfg_gpio.h文件,查看是否有GPIOA28的定义,如果没有,在cfg_main.h文件中找到。

#define CFG_KEYPAD_KEY_BUTTON                                   { PAD_GPIO_B + 31, PAD_GPIO_B + 30, PAD_GPIO_ALV + 0, PAD_GPIO_B + 9, PAD_GPIO_A + 28}
#define CFG_KEYPAD_KEY_CODE                                             { KEY_VOLUMEDOWN, KEY_VOLUMEUP, KEY_POWER, KEY_MENU, KEY_BACK}


会发现这样2行代码,将KEY_BACK修改为你想要的功能,比如修改为KEY_MAIL。这样重新烧录镜像就可以用这个键位打开邮件了。

作者: hanping1020911    时间: 2016-11-15 22:42
谢谢上面的回复,我想引出GPIOE13作为GPIO按键的功能,发现,引出来后,GPIOE13的电平是低电平,查看源码文件,找到GPIOE13作为  usb-otg-en使用,可以没有发现他在哪里引用了。我不用usb功能,将GPIOE13的功能,取消掉,重新让它成为按键功能来用,该如何取消原来程序功能,然后配置成GPIO功能开始输出高电平?
作者: hanping1020911    时间: 2016-11-21 18:11
x4418cv2的GPIOE13在147脚;
x4418cv3的147脚为GPIOC28,原GPIOE13移到32脚去了;
两个核心板再没有其他区别了
需要硬件修改管脚就可以了,谢谢上面的回复。




欢迎光临 九鼎创展论坛 (http://bbs.9tripod.com/) Powered by Discuz! X3.2