AM335X 的 GPIO 操作方法
来源:百问网
作者:韦东山
本文字数:1077 , 阅读时长:2分钟
- GPIO: General-purpose input/output , 通用的输入输出口
- PRCM: Power, Reset, and Clock Management (电源、复位、时钟管理器)
- CM: Control Module(控制模块) 或 Clock Module (时钟模块)
- PRM_PER: Power Reset Module Peripheral Registers(电源/复位模块中关于外设的寄存器)
- CM_PER: Clock Module Peripheral Registers (时钟模块中关于外设的寄存器)
文章插图有 4 组 GPIO(GPIO0~3) , 每组有 32 个 GPIO 。
【AM335X 的 GPIO 操作方法】GPIO 的控制涉及 3 大模块:PRCM、Control Module、GPIO 模块本身
① PRCM 用于使能模块:
GPIO0 永远都是使能的 , GPIO1~3 可单独控制 。
PRCM 模块给 GPIO 模块常供电 , 只需要使能 GPIO 模块的时钟 。
② Control Module 用于设置模式(Mode):
设置引脚的 Mode(即选择功能)、上下拉电阻等;
每一个 GPIO 引脚在 Control Module 中都有一个寄存器 , 怎么找到这个寄存器?
a. 根据 pin number 确定 pin name
b. 根据 pin name 在 Control Module 中确定寄存器
③ GPIO 模块内部:
方向:引脚 Mode 设置为 GPIO 时 , 可以继续设置它是输出引脚 , 还是输入引脚 。
数值:对于输出引脚 , 可以设置寄存器让它输出高、低电平;对于输入引脚 , 可以读取寄存器得到引脚的当前电平 。
AM335X 的 GPIO 相关寄存器
文章插图set-and-clear 协议假设某个 GPIO 被设置为输出 , 怎么设置它的输出电平呢?AM335X 中对于每个 GPIO 模块有一个GPIO_DATAOUT 寄存器 , 其中的每一位对应一个引脚 , 如下:
文章插图要设置某一位时 , 不能影响到其他位 , 操作方法是:读出原来的值 , 修改某一位 , 把新值写回去 。 需要3 个步骤才可以设置某一位的值 , 这效率太低了!
使用 set-and-clear 可以只用一个步骤即可修改某一位的值 。
当想设置某一位为 1 时 , 往 DATA_SETDATAOUT 寄存器中某位写入 1 即可 , 芯片内部会把对应引脚的电平设置为 1 , 并且不会影响其他引脚:
文章插图当想清除某一位为 0 时 , 往 DATA_CLEARDATAOUT 寄存器中某位写入 1 即可 , 芯片内部会把对应引脚的电平设置为 0 , 并且不会影响其他引脚:
文章插图并非所有的芯片都有 set-and-clear 功能 , TI 的 AM335X 系列芯片有这功能 。
「新品首发」STM32MP157开发板火爆预售!首批仅300套
点击“了解更多”阅读更多相关章节
- 智能手机市场|华为再拿第一!27%的份额领跑全行业,苹果8%排在第四名!
- 会员|美容院使用会员管理软件给顾客更好的消费体验!
- 行业|现在行业内客服托管费用是怎么算的
- 人民币|天猫国际新增“服务大类”,知舟集团提醒入驻这些类目的要注意
- 国外|坐拥77件专利,打破国外的垄断,造出中国最先进的家电芯片
- 技术|做“视频”绿厂是专业的,这项技术获人民日报评论点赞
- 面临|“熟悉的陌生人”不该被边缘化
- 中国|浅谈5G移动通信技术的前世和今生
- 页面|如何简单、快速制作流程图?上班族的画图技巧get
- 桌面|日常使用的软件及网站分享 篇一:几个动态壁纸软件和静态壁纸网站:助你美化你的桌面
