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

LPC2103之GPIO寄存器

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

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x
    LPC2103之GPIO寄存器

    5 f  x! j3 Z! h% C
    - o& I3 \& b" V: N. u. S% m% s* H
    GPIO port 0模式选择寄存器/ {, q0 Q7 i. g
    GPIO0Mbit0GPIO port0模式选择。当其为0时,GPIO通过APB地址进行访问(LegacyGPIO),当其为1时,使能高速GPIO port 0GPIO通过片上存储区访问(FastGPIO)。% w( {" f* [0 H* ]' a( J* M
    ' R% E* a% w$ {7 {
    管脚功能选择寄存器+ l5 D/ F' X+ ^2 P) ]7 ~, ^
    PINSEL0PINSEL14 Y8 ~* U9 n3 a8 G. M
    PINSEL0和PINSEL1寄存器控制各个管脚的功能(查看datasheet的Table 62和Table63)。IO0DIR寄存器的方向控制位仅仅当相应管脚的GPIO功能使能时有效。管脚在其它功能时,CPU自动配置管脚方向。/ [( z7 ~$ P! L- E! ^
    PINSEL0PINSET1
    功能
    复位值
    00. x7 @' Z0 d' B% v# _
    主要功能,作为GPIO管脚2 c6 U- q' c) B5 F1 W+ t
    00
      c; M5 e* M+ |% a
    01
    / z6 y5 q5 c6 u. ^! @9 f
    第一复用功能5 U; Z- t5 K8 y6 S, n
    103 v) T: c7 d0 G1 [; o" `; D9 E) X
    第二复用功能
    5 C: Z7 M( T, s2 Z
    115 ?6 h5 a$ W) H$ r5 {5 ~
    第三复用功能
    % N2 X+ ^( ]: ?/ g* U% g
    32bit寄存器PINSEL0对应PIN0.0-PIN0.1532bit寄存器PINSEL0对应PIN0.16-PIN0.31
    " A5 ?: L( t: w+ z
    - {- F+ _9 \1 l! C0 WGPIO控制寄存器:* ?6 U/ l) F9 [+ m6 o6 F. l' I% g
    慢速GPIO控制寄存器 (APB访问寄存器)
    " V& s: P- u+ a# i! r, b2 _* z0 p
    寄存器
    描述
    访问
    复位值
    地址
    IOPIN9 y! O) n; P1 I; z2 }$ D8 R& k3 M
    GPIO管脚值寄存器。不论管脚方向如何,管脚当前值都可以在该寄存器读出7 x% K3 [) x* L1 K/ d& `
    R(推荐只读,否则会发生不可预料情况)/ q( V2 d5 m, d6 t: a0 }) d
    NA
    0 Z6 j. m# u2 f7 ]
    0xE002 8000
    IO0PIN
    IOSET+ m* O& e% V! W" c) f! F
    GPIO管脚置位寄存器。写1将相应管脚置高电平,写低无效。- w4 R- ^& R% q9 E( Z. q$ V
    R/W( d' D% Y& `! X5 l
    0x0000 0000
    " {1 ?4 Y) ?& x) k# R  H
    0xE002 8004
    IO0SET
    IODIR: h! T# c! I9 u! c. J
    GPIO管脚方向控制寄存器。该寄存器独立控制每个管脚方向,写1置相应管脚为输出。! A  @+ E- T; a  w% x# w5 B
    R/W- ~. L! \3 I2 ?
    0x0000 0000
      U( O9 C* r3 ?4 Q( h9 G% h( {) o
    0xE002 8008
    IO0DIR
    IOCLR% r- `4 Y+ B4 C
    GPIO管脚清除寄存器。写1将相应管脚置低电平,写低无效。3 @# ]5 z9 t5 a
    WO
    / t: I, G& n# }8 _8 y: M- C! m2 _
    0x0000 00004 R( p8 z1 b! z: Z
    0xE002 800C
    IO0CLR
    快速GPIO控制寄存器 (本地接口存储访问寄存器——增强的GPIO特性)8 i( \/ ^6 f$ N0 U. b+ D
    寄存器
    描述
    访问
    复位值
    地址
    FIODIR
    " x$ S) |9 S2 R# t( h; z  F# b$ k1 l
    快速GPIO管脚方向控制寄存器。该寄存器独立控制每个管脚方向,写1置相应管脚为输出。
    6 L/ c; N2 p* i  o
    R/W7 S: q+ r. H$ X3 l0 d
    0x0000 0000
    ! z& T+ z0 O. a& H" s" o* z
    0x3FFF C000
    FIO0DIR
    FIOMASK
    5 g* M5 a+ T+ s; |+ c) k
    快速GPIO管脚屏蔽寄存器,对快速IO管脚的任何操作只有在对该寄存器对应位激活(写0)时有效
    6 K. g' B& p: H* `7 L& b" ]' S
    R/W1 w) i; \* p2 N
    0x0000 0000
    ) [5 J, e  u7 H3 f, Q0 O$ ^' ?
    0x3FFF C010
    FIO0MASK
    FIOPIN8 Z! S9 r5 L1 M0 n6 p) @7 l
    快速GPIO管脚值寄存器。
    ; P! X; b6 p! [% m, _4 ^, u
    R/W9 @0 q5 Q% V9 J. v
    NA; q, g$ n  |# Q5 |4 M8 Q/ a
    0x3FFF C014
    FIO0PIN
    ; B5 d: ]" T% G, ?/ J
    FIOSET
    / y3 I$ R+ a( e( J, V- _/ t
    GPIO管脚置位寄存器。写1将相应管脚置高电平,写低无效。
    " b* c8 R( x' _* {2 P( e( J
    R/W
    4 ]8 Z8 A2 C5 a1 X0 W4 c1 f5 I
    0x0000 0000
    ) p: T& L6 Z0 H7 q. N( m0 y
    0x3FFF C018
    FIO0SET
    FIOCLR' F4 }% |& W4 W
    GPIO管脚清除寄存器。写1将相应管脚置低电平,写低无效。
    # u6 L( [7 Y! R" z! k
    WO
    7 A% y$ x; s3 A; o  f2 Z
    0x0000 0000
    # X/ N6 O6 Y( h, M. g2 s+ V% y1 t, G. k
    0x3FFF C01C
    FIO0CLR
    8 R  C, b, W( j8 ?0 q" B
    首先,要明确,对IOSET和ISCLR写0是没有效果的,即等于没操作。3 d; q, N. z4 k6 H4 \

    7 \3 b. o% g! }# l) b. N在写1602的驱动时,发现并没有像先前的51,或者是430那样可以给8个管脚直接赋值的寄存器。由于置1和清0要靠IOSET和IOCLR两个寄存器配合完成,所以写起来不像以前那么直接。最后,我想了个比较还算可以的方法,假设要赋给液晶D0~D7的值为dat,可以这样写:IOSET=dat<<(D0在哪个管脚);IOCLR=(~dat)<<(D0在哪个管脚);这种写法,把该置1的和该清0的都完成了,而且互相不会影响。
    - S5 t4 ~% Q6 H. x9 k. p
    ! i# r; F# v/ _
      ~( W" Q1 X  o( M6 B
    ; X% i) b1 Q; o( `
    ' e! H4 p- L  {+ T; f

    9 V8 B7 I) a; z- K& E
    4 Z% b4 u9 x6 `) F' F4 L5 T2 C# C
    % Z! \( k1 t9 @' b$ ?* p3 K
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-11-25 00:47 , Processed in 0.156250 second(s), 23 queries , Gzip On.

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

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

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