设为首页 加入收藏

TOP

rk3399 gpio 设置
2023-07-23 13:27:56 】 浏览:16
Tags:rk3399 gpio 设置

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位来设置这个引脚的功能

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇AIR32F103(十二) 搭载 AIR32F103C.. 下一篇普冉PY32系列(七) SOP8,SOP10,SOP..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目