在后面的驱动学习中,需要对GPIO进行一系列的操作,了解这些引脚操作有助于编码的效率。

一、配置GPIO

S3C6410要使用其引脚时,需要对其进行配置,如配置为输入/输出/中断等功能,根据芯片手册来配置,所用的这些配置工作都在Gpiolib.c(/arch/arm/plat-s3c64xx)中完成,当然,你在起步阶段可以用基本的__raw_readl和__raw_writel来操作,了解其基本的原理。

1. 配置为上拉/下拉

arm芯片一般都可以内部配置为上拉或下拉,如此就不需要外部接上拉电阻,简化电路。配置成上拉,驱动能力更强,例外防止其处在电平悬浮状态。

操作:把GPB第一个引脚配置为上拉

函数:s3c_gpio_setpull(S3C64XX_GPB(0),S3C_GPIO_PULL_UP);

操作:把GPB第一个引脚配置为下拉

函数:s3c_gpio_setpull(S3C64XX_GPB(0),S3C_GPIO_PULL_DOWN);

2.配置为输入/输出

在使用引脚,首先确定该引脚是输入还是输出。

操作:gpio_direction_output(S3C64XX_GPB(0),1);

gpio_direction_input(S3C64XX_GPB(0));

3. 使用GPIO

设置某端口的某一位或读取某一位

设置输出的值:gpio_set_value(S3C64XX_GPB(0), 1);

读取输入的值:gpio_get_value(S3C64XX_GPB(0));

4.释放GPIO

gpio_free(S3C64XX_GPF(15));

就是把对应GPIO口的控制标志FLAG_REQUESTED清掉,成NULL,之后可以再被其他调用。

就先介绍这些吧,这些在GPIO的操作中已经够用了,具体的实现就不贴出来了,直接在Sourceinsight中查看吧。下面就是开始GPIO的应用了。

S3C6410 GPIO操作接口的更多相关文章

  1. /sys/class/gpio 文件接口操作IO端口(s3c2440)

    http://blog.csdn.net/mirkerson/article/details/8464231 在嵌入式设备中对GPIO的操作是最基本的操作.一般的做法是写一个单独驱动程序,网上大多数的 ...

  2. sys下gpio操作

    gpio_operation 通过/sys/文件接口操作IO端口 GPIO到文件系统的映射 * 控制GPIO的目录位于/sys/class/gpio * /sys/class/gpio/export文 ...

  3. RK3399/NanoPC-T4开发板使用/sys/class/gpio操作外接GPIO设备-【申嵌视频-RK3399篇】

    实验2:RK3399/NanoPC-T4开发板使用/sys/class/gpio操作外接GPIO设备,比如外接一个LED模块,通过GPIO1_A0管脚 1 介绍   LED模块   Matrix-LE ...

  4. esp32的GPIO操作

    对于任何一款芯片,GPIO接口是其最基本的组成部分,也是一款芯片入门的最基本操作,下面论述下 关于esp32开发版的GPIO操作,本文中重点讲解下 关于如何创建eclipse工程,并通过eclipse ...

  5. EF实体框架数据操作接口(转)

    //----------------------------------------------------------------// Copyright (C) 2013 河南禄恒软件科技有限公司 ...

  6. linux 标准 GPIO 操作

    Linux 提供了GPIO 操作的 API,具体初始化及注册函数在 driver/gpio/lib_gpio.c 中实现.   #include    int gpio_request(unsigne ...

  7. STM32标准库GPIO操作

    STM32标准库GPIO操作 STM32任何外围设备的使用都分为两部分:初始化和使用.体现在代码上就是:(1)有一个初始化函数(2)main函数中的使用 1.初始化GPIO 初始化GPIO函数代码: ...

  8. 通过数组和枚举简化GPIO操作编码(转)

    源: 通过数组和枚举简化GPIO操作编码

  9. go语言之进阶篇文件常用操作接口介绍和使用

    一.文件常用操作接口介绍 1.创建文件 法1: 推荐用法 func Create(name string) (file *File, err Error) 根据提供的文件名创建新的文件,返回一个文件对 ...

随机推荐

  1. 处理date类型对象的方式

    在jsp中通过key属性映射到编译后jsp页面的name属性,通过model中的 setxxxx()方法将jsp页面通过wdatepicker插件产生的string类型的数据转换为timestamp类 ...

  2. crt 糟心的配置

    每次要下载安装crt就要捣鼓半天,各种注册机下来各种问题,顺手记录下刚打通的一个 1.crt 下载 网上看了一遍博客: SecureCRT 7.3.4破解版(含注册机), 下载下来后里面其实是不含注册 ...

  3. hdu 2685 I won't tell you this is about number theory 数论

    题目链接 根据公式 \[ gcd(a^m-1, a^n-1) = a^{gcd(m, n)}-1 \] 就可以很容易的做出来了. #include <iostream> #include ...

  4. MVC自学第四课

    处理表单 前面的列子我们已经把表单提交给了HomeControllers类中的RsvpForm动作方法,只是在这个动作方法内,我们并没有做什么具体的逻辑处理,而是直接返回一个 “Thanks”的视图. ...

  5. Python核心编程笔记---- input 与raw_input

    1.raw_input:的返回值是一个string 对象. 2.input:相当于eval(raw_input()),计算出来是什么类型就是什么类型. ------------------------ ...

  6. sketch 跟随鼠标指针移动的特效

    演示地址:http://www.ke01.com/yanshi/sucai/20140830/2/ 下载地址:https://yunpan.cn/cqgWeIYPer8eC  访问密码 672b

  7. jQuery Pagination Plugin ajax分页控件

    <html> <body> <div id="datagrid"> </div> <div id="paginati ...

  8. JavaMail学习笔记

    适逢计算机网络课程设计,本着挑战自己的态度,选择了一个从未接触的东西:邮箱客户端代理软件的设计.由于对相关协议非常陌生,只能依靠查找资料完成,在学习过程中碰到了一个非常好的博客,故向大家推荐一下. 一 ...

  9. 学习使用crosswalk

    1.创建一个工程,最好使用Swift语言,或者也可以叫做雨燕语言,名字很好听吧,功能也是很强大的.言归正传,创建好工程后,需要用CocoaPod工具,不懂的童鞋自行google吧. 根据CrossWa ...

  10. 精简JRE的思路初探

    引言: JRE是Java程序赖以执行的基础环境,眼下JRE已经很的庞大;即使为了执行一个简单的Hello World的程序.可能依旧须要依赖整个JRE,将近百兆大小的依赖性. 能否够对特定Java程序 ...