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

LPC2103之GPIO寄存器

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

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x
    LPC2103之GPIO寄存器
    ) C* U% V; G2 j# C8 h; H5 b

    % f  o- d7 f: m  [4 Q2 {
    GPIO port 0模式选择寄存器5 S0 r  K6 G0 u, d
    GPIO0Mbit0GPIO port0模式选择。当其为0时,GPIO通过APB地址进行访问(LegacyGPIO),当其为1时,使能高速GPIO port 0GPIO通过片上存储区访问(FastGPIO)。
    ! d7 x" ?0 [/ x/ t4 r  p0 }: B8 Z7 ^. T, w, H
    管脚功能选择寄存器
    6 u2 t, O3 ?) Y, p8 {/ E  v3 nPINSEL0PINSEL1
    2 b9 u4 X, O) w# r  q. WPINSEL0和PINSEL1寄存器控制各个管脚的功能(查看datasheet的Table 62和Table63)。IO0DIR寄存器的方向控制位仅仅当相应管脚的GPIO功能使能时有效。管脚在其它功能时,CPU自动配置管脚方向。" {# n' l% W$ E
    PINSEL0PINSET1
    功能
    复位值
    00) }  u% N+ e' o5 c
    主要功能,作为GPIO管脚8 b* ^5 k" V& N
    00
      m9 d) g: l$ s+ T4 |+ O* a5 J- U. k, x
    01
    , ]3 R5 F8 t. N+ w# t4 S
    第一复用功能
    1 K2 D  h& g2 ~, ~7 L4 [$ d1 W9 O8 j
    10
    4 I9 T* b0 E4 G0 @( O. S
    第二复用功能
    : J2 ^- G- ^, O1 Z' t& D
    11
    8 ~( ~# q; t' P  o; A
    第三复用功能
    ) t( t$ z" K' N( q. u) K
    32bit寄存器PINSEL0对应PIN0.0-PIN0.1532bit寄存器PINSEL0对应PIN0.16-PIN0.31( n$ J6 {. y3 E
    0 @5 X- A  E1 e# t2 x( @8 m
    GPIO控制寄存器:
    # J( W9 G9 C! Z. b, K. Z/ B8 l慢速GPIO控制寄存器 (APB访问寄存器)6 n# d5 H# ~% {" e( h- O0 _/ h* s! j- ^
    寄存器
    描述
    访问
    复位值
    地址
    IOPIN
    9 D1 P' ]5 v9 W& @. i' [: O
    GPIO管脚值寄存器。不论管脚方向如何,管脚当前值都可以在该寄存器读出
    3 q& [. }1 q* {( O) a5 c
    R(推荐只读,否则会发生不可预料情况): _; X  {0 q% B6 O
    NA9 I6 r' g5 N9 v
    0xE002 8000
    IO0PIN
    IOSET
    " R+ {* R4 [/ a" e
    GPIO管脚置位寄存器。写1将相应管脚置高电平,写低无效。
    + O( W  Z) Z% U  e
    R/W& \# q6 E, g# G
    0x0000 0000
    ! s: O; Y, h* f! L# M2 |3 K
    0xE002 8004
    IO0SET
    IODIR
    1 V7 d! ^/ {! T
    GPIO管脚方向控制寄存器。该寄存器独立控制每个管脚方向,写1置相应管脚为输出。
    . m7 M' H! r' F2 B4 S9 K/ w
    R/W
    0 m8 ^$ L% z8 O- }& w' Y* L
    0x0000 0000: ?0 p, f- k3 R  h3 u; F7 T# S
    0xE002 8008
    IO0DIR
    IOCLR
    5 \9 S& g0 D9 ?2 d1 `/ u7 _; \+ v3 r
    GPIO管脚清除寄存器。写1将相应管脚置低电平,写低无效。4 u8 z. n- Z: x- z$ y
    WO
    * K! r* c9 [* o4 a5 f1 d9 s
    0x0000 0000( l$ P- {3 X) {. i, \* \3 w* W
    0xE002 800C
    IO0CLR
    快速GPIO控制寄存器 (本地接口存储访问寄存器——增强的GPIO特性)/ E$ f, r5 o, i4 Y( k
    寄存器
    描述
    访问
    复位值
    地址
    FIODIR' I' W6 @0 n7 \9 ?# v2 j8 b
    快速GPIO管脚方向控制寄存器。该寄存器独立控制每个管脚方向,写1置相应管脚为输出。5 u4 x! Y7 T; C. B! g
    R/W
    , ~" S" x4 z' |' b9 ~# w
    0x0000 0000
    $ i5 ]* Z% F9 `; b7 V, T
    0x3FFF C000
    FIO0DIR
    FIOMASK
    1 e' g" z8 q  Z" p% O9 l, m' i
    快速GPIO管脚屏蔽寄存器,对快速IO管脚的任何操作只有在对该寄存器对应位激活(写0)时有效
    * v& A4 t4 S' x& J8 u. N1 A9 X
    R/W5 \2 |& C2 O, C( ?" G
    0x0000 0000
    ! r  @* Z! M% F& C& F
    0x3FFF C010
    FIO0MASK
    FIOPIN
    6 N. ?4 w0 \/ A# z
    快速GPIO管脚值寄存器。
      M6 V: o/ I* Y: H3 h1 _& j
    R/W
    / d5 r, _" j' W! W
    NA
    $ a4 S$ t- y5 z' y5 D2 t8 |
    0x3FFF C014
    FIO0PIN
    ! Z! o* @3 s8 N1 A4 J
    FIOSET% S7 y+ D/ L% S; {) w% J
    GPIO管脚置位寄存器。写1将相应管脚置高电平,写低无效。: Z: `4 ^% B9 v* q8 J* c( n
    R/W
    6 x, K3 {: p1 ]" ]/ [  N+ ]
    0x0000 0000. f9 A) r7 {/ K: h
    0x3FFF C018
    FIO0SET
    FIOCLR
    / m% H" N, C  b
    GPIO管脚清除寄存器。写1将相应管脚置低电平,写低无效。
    - [: ^' v) h' G
    WO
    ! Z$ F: [, G* C/ I  X2 s! k
    0x0000 0000- c# Z) u0 A+ D2 [) m
    0x3FFF C01C
    FIO0CLR

    # N# t3 u% t; y9 o首先,要明确,对IOSET和ISCLR写0是没有效果的,即等于没操作。
    5 e! i( C: I. v" O8 ^
    : R4 R+ z! x( u0 J& l在写1602的驱动时,发现并没有像先前的51,或者是430那样可以给8个管脚直接赋值的寄存器。由于置1和清0要靠IOSET和IOCLR两个寄存器配合完成,所以写起来不像以前那么直接。最后,我想了个比较还算可以的方法,假设要赋给液晶D0~D7的值为dat,可以这样写:IOSET=dat<<(D0在哪个管脚);IOCLR=(~dat)<<(D0在哪个管脚);这种写法,把该置1的和该清0的都完成了,而且互相不会影响。
    & i. p  \* s2 L, `0 x

    ; @! ^, [! T" @* _$ g" L
    ! p/ b8 q9 n% S( z- a" [$ W, `  z. o+ T$ o6 ^5 M

    . C  C$ J$ y, ~2 N4 j$ n, @" Q  g$ j& c* M1 g4 D" f- J" o- T8 W( i
    . b" X; k) c, e8 X4 z& J
    8 K; h6 X) B- ?/ {: \! X
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-11-24 21:13 , Processed in 0.171875 second(s), 23 queries , Gzip On.

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

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

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