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

LPC2103之GPIO寄存器

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

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x
    LPC2103之GPIO寄存器
    ; W0 W; [4 H) O$ Q$ ?- @4 \1 `

    % U7 H5 p8 R% Y" |+ T! p2 T
    GPIO port 0模式选择寄存器4 C9 B+ A( a( a: z5 H0 l$ r7 ?0 Z
    GPIO0Mbit0GPIO port0模式选择。当其为0时,GPIO通过APB地址进行访问(LegacyGPIO),当其为1时,使能高速GPIO port 0GPIO通过片上存储区访问(FastGPIO)。
    + R% }; p* a: Z$ }, x9 E8 J) ]: Q* V( k2 B: `$ M$ C
    管脚功能选择寄存器
    0 v' ~! E6 F& uPINSEL0PINSEL1& J: L) @3 l+ W3 @0 @- ]
    PINSEL0和PINSEL1寄存器控制各个管脚的功能(查看datasheet的Table 62和Table63)。IO0DIR寄存器的方向控制位仅仅当相应管脚的GPIO功能使能时有效。管脚在其它功能时,CPU自动配置管脚方向。. {! I2 u7 K" r
    PINSEL0PINSET1
    功能
    复位值
    00
    - L! L& n; f% D
    主要功能,作为GPIO管脚
    9 E. V, z* d0 J# c- h+ @5 @
    00
    0 ~5 W+ V# F( K6 d3 [% l
    01
    + B2 q0 A3 _& q8 D. E' G
    第一复用功能
    6 z2 _% P! @, i% R4 _7 y9 c) f% y
    101 U+ u: v. m' |( O" V5 B1 J( Q
    第二复用功能
    / i: A$ E+ O9 C7 L8 `3 @# G
    11, a5 ?* v' ^$ D
    第三复用功能" _: }+ R) b+ V
    32bit寄存器PINSEL0对应PIN0.0-PIN0.1532bit寄存器PINSEL0对应PIN0.16-PIN0.31* ?/ c3 T6 G9 G+ |: N* T
    ( N/ L" l- J. c/ Q$ A
    GPIO控制寄存器:2 w6 d* [) w# R9 @
    慢速GPIO控制寄存器 (APB访问寄存器)
    ; c5 c9 I( R9 M# i3 q
    寄存器
    描述
    访问
    复位值
    地址
    IOPIN
    ; M2 ~$ Q3 i' V! H$ G' m0 k
    GPIO管脚值寄存器。不论管脚方向如何,管脚当前值都可以在该寄存器读出
    5 B8 j, Y( _3 V) h) ~3 ^
    R(推荐只读,否则会发生不可预料情况)
    # l* V. v' C* ]0 ?" J
    NA5 U8 D! Z4 A0 T: Y' d; q
    0xE002 8000
    IO0PIN
    IOSET3 v7 @& I* h/ B$ \( Z( H
    GPIO管脚置位寄存器。写1将相应管脚置高电平,写低无效。
    7 I; ?0 u' R/ Z! P% _3 E
    R/W, o6 o- L4 x: ?6 D
    0x0000 0000
    ' D+ C0 E  |( ]& m* X# G
    0xE002 8004
    IO0SET
    IODIR2 q! Q- \+ g: X3 h! v+ l7 j
    GPIO管脚方向控制寄存器。该寄存器独立控制每个管脚方向,写1置相应管脚为输出。. N& c' @. l( C" `3 M+ _/ E5 x
    R/W
    2 [3 [' U7 o8 l3 T4 I6 a. N
    0x0000 0000  P/ b5 y+ @* F$ _2 d' `3 G
    0xE002 8008
    IO0DIR
    IOCLR1 n* m/ j: ~" s% R1 r
    GPIO管脚清除寄存器。写1将相应管脚置低电平,写低无效。
    / A5 O0 f7 V2 d
    WO+ D& g% d+ H9 U/ \* a
    0x0000 0000
    # a1 D* T( o/ v9 H3 `( I2 _1 D
    0xE002 800C
    IO0CLR
    快速GPIO控制寄存器 (本地接口存储访问寄存器——增强的GPIO特性)
    0 ~6 E7 N7 j7 h, C
    寄存器
    描述
    访问
    复位值
    地址
    FIODIR9 n& c' S7 a) q9 g* v( ~, `5 }
    快速GPIO管脚方向控制寄存器。该寄存器独立控制每个管脚方向,写1置相应管脚为输出。4 ]* r' Y1 w+ J- N( A
    R/W
    ( r# V* n+ j6 S/ J
    0x0000 00009 U0 O  E* K* @$ [. }
    0x3FFF C000
    FIO0DIR
    FIOMASK
    , H' o8 ]: t- _4 w5 [* y
    快速GPIO管脚屏蔽寄存器,对快速IO管脚的任何操作只有在对该寄存器对应位激活(写0)时有效& M  u+ Z" m( \- [6 d. B
    R/W; `4 h, H( H. _$ ^$ _4 {
    0x0000 0000. _) L0 D3 z/ t: |* t
    0x3FFF C010
    FIO0MASK
    FIOPIN
    . {9 l+ p" z3 @" L. h/ ]
    快速GPIO管脚值寄存器。
    0 C' V) Z) |1 j6 z9 Q* s, b! J
    R/W
    - b3 W7 v# n+ C
    NA
    " C! X9 a# ^  R- L3 r4 q
    0x3FFF C014
    FIO0PIN
    7 ?- I2 Q% y  A6 x
    FIOSET
    . O/ D4 ~6 [5 }6 W0 |0 z( V1 y
    GPIO管脚置位寄存器。写1将相应管脚置高电平,写低无效。; [7 @, V$ f1 o2 t
    R/W4 P8 \2 e: x% I' Q! J& u
    0x0000 0000. c, _! Z& u- e& |7 O6 c: C! _  R
    0x3FFF C018
    FIO0SET
    FIOCLR
    7 E3 P! C4 m( f) [8 e. {3 }! [
    GPIO管脚清除寄存器。写1将相应管脚置低电平,写低无效。
    % X6 b* Z# E* B  m8 a- k- L
    WO6 |( }4 D& Y, i0 I
    0x0000 0000
    $ F9 m2 I$ X4 f" N, U' k# w
    0x3FFF C01C
    FIO0CLR
    " H4 e7 A; A( D3 \
    首先,要明确,对IOSET和ISCLR写0是没有效果的,即等于没操作。
    6 K# i. o+ x5 s. d. ~7 L: y% c: P! s) f( @  u/ m; j
    在写1602的驱动时,发现并没有像先前的51,或者是430那样可以给8个管脚直接赋值的寄存器。由于置1和清0要靠IOSET和IOCLR两个寄存器配合完成,所以写起来不像以前那么直接。最后,我想了个比较还算可以的方法,假设要赋给液晶D0~D7的值为dat,可以这样写:IOSET=dat<<(D0在哪个管脚);IOCLR=(~dat)<<(D0在哪个管脚);这种写法,把该置1的和该清0的都完成了,而且互相不会影响。4 u" O+ l8 A* y" b2 `* a

    9 q& g) a: Q  _" F; G5 _
    : w, q! H4 y; |7 J% T% N! a( @7 [3 ?  w) c

    4 E' z0 \$ ^* @% B8 K6 q* [+ T) o4 g* {$ {( ]9 n- b
    5 ^, ]1 K7 h% e! X; Y& \
    " N' H" y' Q% D1 v8 |( d
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-11-24 20:28 , Processed in 0.156250 second(s), 23 queries , Gzip On.

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

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

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