rk3399 gpio 设置
  mV5FRyEqh6DS 2023年11月01日 51 0

rk3399 GPIO的操作方法

  1. RK3399 GPIO分为4个大组 0 ~ 4,每个大组分为4个小组(A,B,C,D),比如GPIO0 有 A,B,C,D四个小组,每个小组有A0~A7个gpio

    一个GPIO需要三类功能支持:gpio时钟,gpio输入输出,这个pin要设置为gpio功能(复用)

  2. GPIO寄存器介绍

image-20230402112152775

数据寄存器,用来设置某一组 (A,B,C,D)的输出高电平还是低电平,Bit0 对应A0,bit7 对应A7,bit8 对应B0,bit16 对应C0,bit24对应D0 以此类推

image-20230402113015263

方向寄存器,用来设置某个引脚方向输入/输出,Bit0 对应A0,bit7 对应A7,bit8 对应B0,bit16 对应C0,bit24对应D0 以此类推

image-20230402113534033

读输入寄存器,用来读取某个寄存器的输入电平。

  1. GPIO时钟配置CRU

    CRU_CLKGATE_CON31 寄存器第3,4,5为分别设置GPIO2~4时钟

    image-20230402120714531

    PMUCRU_CLKGATE_CON1 用来设置GPIO0和1的时钟

image-20230402121048979

​ 注意:这些寄存器都有一个 write_mask 位

image-20230402121702406

如果需要设置这个寄存器位0, 要先写入write_mask bit16写入1,才可以给对应的寄存器位写值。如果要设置位3,要先写write_mask位bit19写入1才可以

  1. 复用设置

    先看寄存器图

    image-20230402124603010

    image-20230402125148965

    同样的这些寄存器都有write_enable位。如果要写入bit0,需要先设置bit 16为1

    image-20230402125240032

    image-20230402125508460

    上图设置了GPIO2 A组里面第0个pin,用2位来设置这个引脚的功能

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  bgxXjYYEVSxV   2024年05月17日   45   0   0 嵌入式
  bgxXjYYEVSxV   2024年05月17日   62   0   0 嵌入式
  swCWDMUCSvaI   2024年05月17日   56   0   0 嵌入式
  jEmNNF9D14iz   2024年05月17日   42   0   0 嵌入式
I2C
  bgxXjYYEVSxV   2024年05月17日   63   0   0 嵌入式
  jEmNNF9D14iz   2024年05月17日   41   0   0 嵌入式
  jEmNNF9D14iz   2024年05月17日   53   0   0 嵌入式
  jEmNNF9D14iz   2024年05月17日   48   0   0 嵌入式
PWM
  bgxXjYYEVSxV   2024年05月17日   46   0   0 嵌入式
mV5FRyEqh6DS
作者其他文章 更多

2023-11-01