找回密码
 注册
关于网站域名变更的通知
查看: 380|回复: 1
打印 上一主题 下一主题

LPC2103之GPIO寄存器

[复制链接]
  • TA的每日心情
    开心
    2019-11-20 15:00
  • 签到天数: 2 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2018-10-26 13:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    LPC2103之GPIO寄存器

    * t. I" k) j7 ~/ L. s7 A7 U# [* l4 i( P1 a
    GPIO port 0模式选择寄存器
    ! X$ d7 Y' D* }5 G* MGPIO0Mbit0GPIO port0模式选择。当其为0时,GPIO通过APB地址进行访问(LegacyGPIO),当其为1时,使能高速GPIO port 0GPIO通过片上存储区访问(FastGPIO)。
    ' F% ?2 D5 i3 v! ?* Z9 n! B, v& O" o/ S2 q* \, h  k
    管脚功能选择寄存器
    1 I, g1 s' \# ^PINSEL0PINSEL1! z% W7 k+ K/ y0 D+ X
    PINSEL0和PINSEL1寄存器控制各个管脚的功能(查看datasheet的Table 62和Table63)。IO0DIR寄存器的方向控制位仅仅当相应管脚的GPIO功能使能时有效。管脚在其它功能时,CPU自动配置管脚方向。
    * ~5 S/ Z4 k6 l7 [, b
    PINSEL0PINSET1
    功能
    复位值
    008 `) K- a) j) p) o) w$ i. A! @6 w
    主要功能,作为GPIO管脚  J( p4 B( K) e$ T2 I6 m
    00
    # U8 d: T5 Y: ^
    01; Q' E2 j4 |* Y1 k1 @* @; g
    第一复用功能/ e, z! e% V5 |/ \6 L$ i% w
    10
    , H7 I; h: o9 V& i5 c0 ~- h
    第二复用功能
    ! b% @2 q6 `; ~: b/ f' \! y! h
    11; K6 E6 `) F8 Y% h
    第三复用功能
    + o% M: q4 ?. H6 b$ [
    32bit寄存器PINSEL0对应PIN0.0-PIN0.1532bit寄存器PINSEL0对应PIN0.16-PIN0.31# u3 `6 A; X$ n- u+ X

    % k4 r5 q0 J0 b0 R/ ]$ r8 B! dGPIO控制寄存器:. L. A+ j) F6 g8 v* |) E% v9 Q& L
    慢速GPIO控制寄存器 (APB访问寄存器)7 ]3 O3 a; N2 @' j  S( A
    寄存器
    描述
    访问
    复位值
    地址
    IOPIN
    ( S+ b- N+ X+ V( M. Q5 |6 L
    GPIO管脚值寄存器。不论管脚方向如何,管脚当前值都可以在该寄存器读出
    5 V, q5 u0 `$ }; d# k( F
    R(推荐只读,否则会发生不可预料情况)* M: d# S5 j8 u8 K
    NA, _! A4 m1 J0 h, G
    0xE002 8000
    IO0PIN
    IOSET/ z$ z2 k$ r7 k5 U' W$ E
    GPIO管脚置位寄存器。写1将相应管脚置高电平,写低无效。3 m, v, ]9 w) e( U" z. R
    R/W- ^; p; m) F# G2 {! b
    0x0000 0000
    2 q6 _! [+ p; a. Z  N
    0xE002 8004
    IO0SET
    IODIR
      t% ^- k; N, s1 \8 v4 d
    GPIO管脚方向控制寄存器。该寄存器独立控制每个管脚方向,写1置相应管脚为输出。# P  W& j5 F5 }. b; H
    R/W% i0 q1 C. @/ V% C" x* i# v' }
    0x0000 0000# b" a. R5 {: t; m+ u3 m) f
    0xE002 8008
    IO0DIR
    IOCLR
    + p8 j; s1 t; q
    GPIO管脚清除寄存器。写1将相应管脚置低电平,写低无效。
    5 V' h* e: l' \
    WO
    8 ~7 R; F0 r" B$ L4 g* @; R" w
    0x0000 0000
    : x6 |7 F2 _/ ?' [5 R3 E0 H- v
    0xE002 800C
    IO0CLR
    快速GPIO控制寄存器 (本地接口存储访问寄存器——增强的GPIO特性)
    . s3 ?9 L) h/ q; s
    寄存器
    描述
    访问
    复位值
    地址
    FIODIR7 N+ [9 O0 R3 r+ d2 b& n) ~/ ^( d
    快速GPIO管脚方向控制寄存器。该寄存器独立控制每个管脚方向,写1置相应管脚为输出。6 n3 j/ |3 [2 e& M
    R/W# f5 K3 m( d3 j  v3 d2 u; p, B
    0x0000 0000
    $ s  I. i9 x+ C) p
    0x3FFF C000
    FIO0DIR
    FIOMASK
    % h& Y- y+ H1 f- b( S( j* R
    快速GPIO管脚屏蔽寄存器,对快速IO管脚的任何操作只有在对该寄存器对应位激活(写0)时有效
    ! l5 ^6 p; Z8 a+ l5 A( h# [9 w
    R/W
    7 h+ {- h% Z6 w2 r7 c
    0x0000 0000
    7 A' V: O8 W9 |% w1 _- W
    0x3FFF C010
    FIO0MASK
    FIOPIN! ?- [2 o. T3 s4 L$ ^! u0 p7 |7 W  ?
    快速GPIO管脚值寄存器。
    2 _1 r( ?" T& M, W+ ]  A" g& Y
    R/W
    + q4 W& p! P$ n' e
    NA
    ( e. [( J6 |: J% B" `' i* ^3 X! r+ Q
    0x3FFF C014
    FIO0PIN

    8 i1 F, O+ p: e$ I
    FIOSET
    9 X$ e1 W' f0 p) H3 c7 u
    GPIO管脚置位寄存器。写1将相应管脚置高电平,写低无效。& ], f' u$ }7 r2 [
    R/W
    # c6 z" S- l6 {
    0x0000 0000- e: K( {5 [- q+ F8 [* g
    0x3FFF C018
    FIO0SET
    FIOCLR, f) c1 ]1 j4 p, _$ ]
    GPIO管脚清除寄存器。写1将相应管脚置低电平,写低无效。9 L9 j+ w2 m5 Z
    WO% [. i; N/ h! |
    0x0000 0000
    * L, }  n5 |7 N
    0x3FFF C01C
    FIO0CLR

    6 z& _' l0 n! B" w8 j4 m: }首先,要明确,对IOSET和ISCLR写0是没有效果的,即等于没操作。
    - O! ~7 J6 D- O" j" j1 R/ q
    + _+ [+ \+ g* ~, m7 ?在写1602的驱动时,发现并没有像先前的51,或者是430那样可以给8个管脚直接赋值的寄存器。由于置1和清0要靠IOSET和IOCLR两个寄存器配合完成,所以写起来不像以前那么直接。最后,我想了个比较还算可以的方法,假设要赋给液晶D0~D7的值为dat,可以这样写:IOSET=dat<<(D0在哪个管脚);IOCLR=(~dat)<<(D0在哪个管脚);这种写法,把该置1的和该清0的都完成了,而且互相不会影响。
    - o7 h5 A9 S, X2 [
    4 p& e- A: ~5 Y/ y

    & U4 G/ _7 p; y: {
    2 T" o! {0 E, R0 b. w8 ]) z  _1 x* z* d. X/ L% P6 r4 _& f
    ' L/ O% m& }" C! y$ u  B* {; E9 E* ~
    # a) A3 M+ \- E  o! c7 M

    ; [0 T: U9 `$ |# H8 R/ Z5 V7 o  o
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-8-21 14:17 , Processed in 0.125000 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表