Chinaunix首页 | 论坛 | 博客
  • 博客访问: 78866
  • 博文数量: 13
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 290
  • 用 户 组: 普通用户
  • 注册时间: 2013-07-25 14:06
文章分类
文章存档

2013年(13)

我的朋友

分类: 嵌入式

2013-09-12 17:38:30

    点击(此处)折叠或打开
  1. #define AW9106_POWER_GPIO 10 //设置引脚编号
1、GPIO_CFG(AW9106_POWER_GPIO, 0, GPIO_CFG_OUTPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA);

AW9106_POWER_GPIO : 引脚编号
0:GPIO模式 (0---GPIO模式,1---串口模式)
GPIO_CFG_OUTPUT:输入输出模式
GPIO_CFG_NO_PULL:默认上拉还是下拉
GPIO_CFG_2MA:默认驱动电流

参考:http://blog.csdn.net/dwyane_zhang/article/details/6739155


2、gpio_direction_output(AW9106_POWER_GPIO, i_is_on);
表示在AW9106_POWER_GPIO这个引脚上写入i_is_on这个值,并且将这个端口设置为输出模式

3、gpio_set_value(AW9106_POWER_GPIO,i_is_on);

表示在AW9106_POWER_GPIO这个引脚上写入i_is_on这个值。

4、gpio_direction_output和gpio_set_value

gpio_set_value(port_num,0/1) 一般只是在这个GPIO口的寄存器上写上某个值,至于这个端口是否设置为输出,它就管不了!

而gpio_direction_output (port_num,0/1),在某个GPIO口写上某个值之后,还会把这个端口设置为输出模式。

 因此,有人也许就会建议,把gpio_set_value这个函数直接去掉不用,是否可以,显然是可以的。


    系统开发人员在要结合这两者来使用,以便提高效率。

   一般某个端口设置好了输入与输出模式后,最好不要经常变动。

   首先要调用gpio_direction_output(),以后要设置高低电平时,直接使用gpio_set_value()就可以了,这样可以省却再次调用设置输出模式的操作,从而提高运行效率!

5、gpio_tlmm_config(cfg,GPIO_CFG_EEPR_ENABLE);  //将相应的GPIO端口输出使能

6、要使用GPIO,系统首先要分配一个GPIO,使用gpio_request() 为系统分配一个GPIO。

7、request_irq: 注册中断服务函数
阅读(2383) | 评论(0) | 转发(0) |
0

上一篇:ARM的GPIO设置

下一篇:calloc与malloc的区别

给主人留下些什么吧!~~