Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2117230
  • 博文数量: 438
  • 博客积分: 3871
  • 博客等级: 中校
  • 技术积分: 6075
  • 用 户 组: 普通用户
  • 注册时间: 2011-09-10 00:11
个人简介

邮箱: wangcong02345@163.com

文章分类

全部博文(438)

文章存档

2017年(15)

2016年(119)

2015年(91)

2014年(62)

2013年(56)

2012年(79)

2011年(16)

分类: Android平台

2015-11-20 18:26:44

1. 将gpio引脚设为中断模式
  1. mt_set_gpio_mode(GPIO27, GPIO_MODE_02);            //配置6572的pin27为MOD2就是EINT3
  2. mt_set_gpio_dir(GPIO27, GPIO_DIR_IN);              //配置6572的pin27方向为输入
  3. mt_set_gpio_pull_enable(GPIO27, GPIO_PULL_DISABLE);
  4. mt_eint_set_hw_debounce(3, 1);                    //不知道是什么意思
  5. mt_eint_registration(3, EINTF_TRIGGER_RISING, wakeup_irq_handler, true); //步骤如下
  6. mt_eint_unmask(3);
1.1 为什么GPIO_MODE_02是中断模式呢?
这个得用DrvGen.exe打开./mediatek/custom/hqunited72_we_72_kk/kernel/dct/dctcodegen.dws
找到GPIO27,可以看到上面标着2:EINT3

1.2 中断号是怎么来的
同上面1.1 dct中看到2:EINT3,所以3就是GPIO27的中断号
1.3 解释mt_eint_registration的参数
  1. void mt_eint_unmask(unsigned int line);
  2. void mt_eint_mask(unsigned int line);
  3. void mt_eint_set_hw_debounce(unsigned int eintno, unsigned int ms);
  4. void mt_eint_registration(unsigned int eint_num, unsigned int flag, void (EINT_FUNC_PTR) (void), unsigned int is_auto_umask);
eint_num  -->中断号
flag --> 上升沿还是下降沿触发
PTR-->中断处理函数,定义是  void func_nam(void)
auto_umake--> 注意这儿需要一定要填true,否则即使调用mt_eint_unmsak也不管用



2.将gpio引脚设为gpio模式
  1. mt_set_gpio_mode(pmt6261->gpio_power, GPIO_MODE_GPIO);
  2. mt_set_gpio_dir(pmt6261->gpio_power, GPIO_DIR_OUT);
  3. mt_set_gpio_out(pmt6261->gpio_sim_hotplug, GPIO_OUT_ONE);




阅读(1969) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~