匿名
未登录
登录
百问网嵌入式Linux wiki
搜索
查看“ELADCMSecondEditionChapterFivePartⅣ”的源代码
来自百问网嵌入式Linux wiki
名字空间
页面
讨论
更多
更多
页面选项
Read
查看源代码
历史
←
ELADCMSecondEditionChapterFivePartⅣ
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
__NOTITLE__ ==普适的GPIO引脚操作方法== : GPIO: General-purpose input/output,通用的输入输出口 ===GPIO模块一般结构=== : a.有多组GPIO,每组有多个GPIO : b.使能:电源/时钟 : c.模式(Mode):引脚可用于GPIO或其他功能 : d.方向:引脚Mode设置为GPIO时,可以继续设置它是输出引脚,还是输入引脚 : e.数值:对于输出引脚,可以设置寄存器让它输出高、低电平 :: 对于输入引脚,可以读取寄存器得到引脚的当前电平 ===GPIO寄存器操作=== : a.芯片手册一般有相关章节,用来介绍:power/clock :: 可以设置对应寄存器使能某个GPIO模块(Module) :: 有些芯片的GPIO是没有使能开关的,即它总是使能的 : b.一个引脚可以用于GPIO、串口、USB或其他功能, :: 有对应的寄存器来选择引脚的功能 : c.对于已经设置为GPIO功能的引脚,有方向寄存器用来设置它的方向:输出、输入 : d.对于已经设置为GPIO功能的引脚,有数据寄存器用来写、读引脚电平状态 :: GPIO寄存器的2种操作方法: ::: 原则:不能影响到其他位 : a.直接读写:读出、修改对应位、写入 :: 要设置bit n: <syntaxhighlight lang="bash"> val = data_reg; val = val | (1<<n); data_reg = val; </syntaxhighlight> :: 要清除bit n: <syntaxhighlight lang="bash"> val = data_reg; val = val & ~(1<<n); data_reg = val; </syntaxhighlight> : b.set-and-clear protocol: :: set_reg, clr_reg, data_reg 三个寄存器对应的是同一个物理寄存器, :: 要设置bit n:set_reg = (1<<n); :: 要清除bit n:clr_reg = (1<<n); ===GPIO的其他功能:防抖动、中断、唤醒=== : 后续章节再介绍 [[Category:嵌入式Linux应用开发完全手册第2版]]
返回至
ELADCMSecondEditionChapterFivePartⅣ
。
导航
导航
WIKI首页
官方店铺
资料下载
交流社区
所有页面
所有产品
MPU-Linux开发板
MCU-单片机开发板
Linux开发系列视频
单片机开发系列视频
所有模块配件
Wiki工具
Wiki工具
特殊页面
页面工具
页面工具
用户页面工具
更多
链入页面
相关更改
页面信息
页面日志