初识GPIO

                 GPIO是通用的输入/输出端口,就是一些引脚,可以通过它输出高低(0/1)电平和读入引脚上的状态(0/1).s3c2440有130个引脚,分为A~J一共9组:GPA,GPB、、、GPJ,可以通过GPIO相关寄存器来配置引脚的具体功能和信息。

一、通过寄存器来控制GPIO引脚

1、GPxCON寄存器

              这是GPIO控制寄存器(configure),通过对其写入数据可以设置引脚的功能,是输入输出还是其他特殊功能,通过用户手册可以得到其每位所代表的功能的具体含义。

2、GPxDAT寄存器

             这是GPIO数据寄存器,若是输出引脚,则向其写入信息,可控制对应引脚输出的电平高低,若是输入引脚,则可通过数据寄存器得到引脚此时的状态。

3、GPxUP寄存器

             上拉电阻使能寄存器,当某位为1时,对应引脚无上拉电阻,为0时,则表示有上拉电阻。上拉电阻的作用就是当引脚既不是输出也不是输入时,他的状态就有上拉电阻或下拉电阻来确定。

                  

上面代码就是通过设置GPBCON和GPBDAT来点亮led


使用C语言来点亮一个LED,由于在裸板上无法直接运行main里的代码,在有操作系统的情况下,生成一个C的可执行程序,系统会在编译时在代码中加入启动文件的代码,这些代码的功能就是设置C程序的堆栈等初始化相关软硬件,然后调用main函数,这些都依赖于操作系统,在裸板上则需要自己写启动文件做相关的初始化工作,初始化相应的工作在s3c2440的启动方式里有提过。


通过下面的初始化启动代码可以顺利进入C程序的main运行C代码。


下面是C语言代码 ,宏定义了GPBCON和GPBDAT,然后赋值,运行时可见LED亮。


这段C代码和最上边的汇编效果一样。



            

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值