Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

本实验利用前面介绍的定时器中断控制实验,完成通用GPIO 输入输出口控制实验, Plus1 7021系统提供9组(P0到P8),每组8个,共计72个通用GPIO 通用输入输出口,每个GPIO都可单独配置为输入或输出:

 对应的32位寄存器如下:

寄存器

功能描述

 

gpio_first[0]

bit[7:0] :  P0组GPIO控制,对应bit为1,开启GPIO功能;对应bit为0,关闭GPIO功能;(缺省为0)

bit[15:8]P1组GPIO控制,对应bit为1,开启GPIO功能;对应bit为0,关闭GPIO功能;(缺省为0)

bit[23:16]P2组GPIO控制,对应bit为1,开启GPIO功能;对应bit为0,关闭GPIO功能;(缺省为0)

bit[31:24]P3组GPIO控制,对应bit为1,开启GPIO功能;对应bit为0,关闭GPIO功能;(缺省为0)

 

gpio_first[1]

bit[7:0] :  P4组GPIO控制,对应bit为1,开启GPIO功能;对应bit为0,关闭GPIO功能;(缺省为0)

bit[15:8]P5组GPIO控制,对应bit为1,开启GPIO功能;对应bit为0,关闭GPIO功能;(缺省为0)

bit[23:16]P6组GPIO控制,对应bit为1,开启GPIO功能;对应bit为0,关闭GPIO功能;(缺省为0)

bit[31:24]P7组GPIO控制,对应bit为1,开启GPIO功能;对应bit为0,关闭GPIO功能;(缺省为0)

gpio_first[2]

bit[7:0] :  P8组GPIO控制,对应bit为1,开启GPIO功能;对应bit为0,关闭GPIO功能;

 

gpio_oe[0]

bit[7:0] :   P0组输入输出控制,对应bit为1,输出功能;对应bit为0,输入功能;(缺省为0)

bit[15:8] :  P1组输入输出控制,对应bit为1,输出功能;对应bit为0,输入功能;(缺省为0)

bit[23:16] :  P0组mask ; 对应bit为1,P0组对应bit可写;对应bit为0,P0组对应bit禁写;(缺省为0)

bit[31:24] :  P1组mask ; 对应bit为1,P0组对应bit可写;对应bit为0,P0组对应bit禁写;(缺省为0)

 

gpio_oe[1]

bit[7:0] :   P2组输入输出控制,对应bit为1,输出功能;对应bit为0,输入功能;(缺省为0)

bit[15:8] :  P3组输入输出控制,对应bit为1,输出功能;对应bit为0,输入功能;(缺省为0)

bit[23:16] :  P2组mask ; 对应bit为1,P2组对应bit可写;对应bit为0,P0组对应bit禁写;(缺省为0)

bit[31:24] :  P3组mask ; 对应bit为1,P3组对应bit可写;对应bit为0,P0组对应bit禁写;(缺省为0)

 

gpio_oe[2]

bit[7:0] :   P4组输入输出控制,对应bit为1,输出功能;对应bit为0,输入功能;(缺省为0)

bit[15:8] :  P5组输入输出控制,对应bit为1,输出功能;对应bit为0,输入功能;(缺省为0)

bit[23:16] :  P4组mask ; 对应bit为1,P4组对应bit可写;对应bit为0,P0组对应bit禁写;(缺省为0)

bit[31:24] :  P5组mask ; 对应bit为1,P5组对应bit可写;对应bit为0,P0组对应bit禁写;(缺省为0)

 

gpio_oe[3]

bit[7:0] :   P6组输入输出控制,对应bit为1,输出功能;对应bit为0,输入功能;(缺省为0)

bit[15:8] :  P7组输入输出控制,对应bit为1,输出功能;对应bit为0,输入功能;(缺省为0)

bit[23:16] :  P6组mask ; 对应bit为1,P4组对应bit可写;对应bit为0,P0组对应bit禁写;(缺省为0)

bit[31:24] :  P7组mask ; 对应bit为1,P5组对应bit可写;对应bit为0,P0组对应bit禁写;(缺省为0)

 

gpio_oe[4]

bit[7:0] :   P8组输入输出控制,对应bit为1,输出功能;对应bit为0,输入功能;(缺省为0)

bit[15:8] :  保留

bit[23:16] :  P8组mask ; 对应bit为1,P8组对应bit可写;对应bit为0,P0组对应bit禁写;(缺省为0)

bit[31:24] :  保留

 

gpio_out[0]

bit[7:0] :   P0组输出控制,对应bit为1,输出1;对应bit为0,输出0;

bit[15:8] :  P1组输出控制,对应bit为1,输出1;对应bit为0,输出0;

bit[23:16] :  P0组mask ; 对应bit为1,P0组对应bit可写;对应bit为0,P0组对应bit禁写;(缺省为0)

bit[31:24] :  P1组mask ; 对应bit为1,P0组对应bit可写;对应bit为0,P0组对应bit禁写;(缺省为0)

 

gpio_out[1]

bit[7:0] :   P2组输出控制,对应bit为1,输出1;对应bit为0,输出0;

bit[15:8] :  P3组输出控制,对应bit为1,输出1;对应bit为0,输出0;

bit[23:16] :  P2组mask ; 对应bit为1,P2组对应bit可写;对应bit为0,P0组对应bit禁写;(缺省为0)

bit[31:24] :  P3组mask ; 对应bit为1,P3组对应bit可写;对应bit为0,P0组对应bit禁写;(缺省为0)

 

gpio_out[2]

bit[7:0] :   P4组输出控制,对应bit为1,输出1;对应bit为0,输出0;

bit[15:8] :  P5组输出控制,对应bit为1,输出1;对应bit为0,输出0;

bit[23:16] :  P4组mask ; 对应bit为1,P4组对应bit可写;对应bit为0,P0组对应bit禁写;(缺省为0)

bit[31:24] :  P5组mask ; 对应bit为1,P5组对应bit可写;对应bit为0,P0组对应bit禁写;(缺省为0)

 

gpio_out[3]

bit[7:0] :   P6组输出控制,对应bit为1,输出1;对应bit为0,输出0;

bit[15:8] :  P7组输出控制,对应bit为1,输出1;对应bit为0,输出0;

bit[23:16] :  P6组mask ; 对应bit为1,P6组对应bit可写;对应bit为0,P0组对应bit禁写;(缺省为0)

bit[31:24] :  P7组mask ; 对应bit为1,P7组对应bit可写;对应bit为0,P0组对应bit禁写;(缺省为0)

 

gpio_out[4]

bit[7:0] :   P8组输出控制,对应bit为1,输出1;对应bit为0,输出0;

bit[15:8] :  保留;

bit[23:16] :  P8组mask ; 对应bit为1,P8组对应bit可写;对应bit为0,P0组对应bit禁写;(缺省为0)

bit[31:24] :  保留

 安装目录\SP7021\workspace\sp7021\include 文件夹下的regmap_q628.h定义了相关寄存器,如下图红色

...

        unsigned int reserved_21[3];       // 101.22

        unsignedint gpio_first[4];        // 101.25

        unsigned int reserved_29[3];       // 101.29

...

    unsigned int gpio_ctl_sel[8];

    unsignedint gpio_oe[8];

    unsignedint gpio_out[8];

    unsignedint gpio_in[6];

    unsigned int reserved[2];

...