Chinaunix首页 | 论坛 | 博客
  • 博客访问: 542847
  • 博文数量: 67
  • 博客积分: 1625
  • 博客等级: 上尉
  • 技术积分: 1053
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-04 14:40
文章分类

全部博文(67)

文章存档

2012年(67)

分类: LINUX

2012-04-26 13:57:37

ARM学习之S3C2440_GPIO编程

作者:kangear

             Email

             Blogkangear.blog.chinaunix.net

       GPIO输入输出端口,有GPBCON,GPBDAT,GPBUP常用寄存器。GPBCON是配置寄存器,GPBDAT是数据寄存器,GPBUP是上拉电阻使能寄存器。通过下面一个函数体现这三个寄存器配置。

 

       寄存器             功能描述

      GPBCON            配置管脚(输入or输出)

      GPBDAT            数据寄存器(如:LEDor灭)

      GPBUP             上拉电阻使能寄存器(是否使用上拉电阻)

 

       寄存器地址不用考虑,因为S3C2440.h中已经配置好,直接可以用。

程序:

#include

void delay(int times)

{

    int i;

    for(;times>0;times--)

      for(i=0;i<400;i++);

}

int main(void)

{    

    int i;

    GPBCON =10000000000;                               /*配置GPB5为输出 (参考图1)*/   

       GPBUP  =~100000;                                        /*配置GPB5上拉电阻使能(参考图2)*/

    for(i=0;i<10000;i++)

    {

           /* LED1 */

           GPBDAT =    ~100000;                          /*GPB5低电平*/

   

           delay(1000);

   

           /* LED1 */

           GPBDAT =     100000;                             /*GPB5高电平*/

          

           delay(1000);

    }

}

Tu1:

Tu2:

Tu3:

运行结果:

       当然这个程序有很多漏洞,只考虑了自己把人家都强行置1或置0 。这个只是初步学习用,以后真正编程要考虑的要多的多了。


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