初识GPIO

来源:互联网 发布:单片机c语言数据类型 编辑:程序博客网 时间:2024/05/17 08:48

                 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代码和最上边的汇编效果一样。



            

原创粉丝点击