查看: 2008|回复: 6

[求助] 关于通用GPIO初始化的问题

[复制链接]
  • TA的每日心情

    2019-9-17 13:22
  • 签到天数: 238 天

    连续签到: 1 天

    [LV.7]常住居民III

    30

    主题

    905

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    2251
    最后登录
    2024-10-8
    发表于 2015-3-23 16:18:27 | 显示全部楼层 |阅读模式
    在初始化通用GPIO的过程中,要对不同的端口A~E初始化,例如初始化B
    PORT_MemMapPtr        pctl;
    pctl = (PORT_MemMapPtr)PORTB_BASE_PTR;
    pctl->PCR[4] = PORT_PCR_MUX(1);
    紧接着我想初始化另一个端口如A,我发现在接下面这么写是可行的。
    PORT_MemMapPtr        pct2;
    pct2 = (PORT_MemMapPtr)PORTA_BASE_PTR;
    pct2->PCR[4] = PORT_PCR_MUX(1);

    想知道标准应该怎么弄,使用case吗,还是就像我这么整,直到pct5

    我知道答案 目前已有6人回答
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

    该用户从未签到

    145

    主题

    4926

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    9267
    最后登录
    1970-1-1
    发表于 2015-3-23 17:16:52 | 显示全部楼层
    very333 发表于 2015-3-23 17:07
    FAE你好,首先非常感谢你回答了我很多困惑。目前是在MQX环境下,看到MQX里面的init-gpio就是这么搞的,但 ...

    这种方法是裸板程序的方法,因为我不是MQX的工程师。
    需要先清除MUX,然后重新设置。
    PORTA_PCRx &=~PORT_PCR_MUX(7);//清除MUX
    PORTA_PCRx |= PORT_PCR_MUX(1);// 设置MUX为GPIO功能
    关于MQX的方法,你可以参考官方MQX的GPIO代码,然后明天我帮你问下MQX工程师具体是怎么设置。
    回复 支持 1 反对 0

    使用道具 举报

    该用户从未签到

    145

    主题

    4926

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    9267
    最后登录
    1970-1-1
    发表于 2015-3-23 16:52:19 | 显示全部楼层
    楼主其实没有必要把基地址赋给另外一个变量。
    你可以直接使用PORTA_PCRx = 具体值实现。另外,如果你所有的口都是要配成一样,建议你使用PORTx_GPCLR,PORTx_GPCHR配置,这样可以批量设置。
    或者就是直接一条一条的PORT配置。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2019-9-17 13:22
  • 签到天数: 238 天

    连续签到: 1 天

    [LV.7]常住居民III

    30

    主题

    905

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    2251
    最后登录
    2024-10-8
     楼主| 发表于 2015-3-23 17:07:07 | 显示全部楼层
    FSL_TICS_ZJJ 发表于 2015-3-23 16:52
    楼主其实没有必要把基地址赋给另外一个变量。
    你可以直接使用PORTA_PCRx = 具体值实现。另外,如果你所有的 ...

    FAE你好,首先非常感谢你回答了我很多困惑。目前是在MQX环境下,看到MQX里面的init-gpio就是这么搞的,但是初始化通用GPIO只有一个PORT。请问现在我想初始化A~E口的端口,具体应该怎么弄。你的意思就是在init-gpio直接修改PORTA_PCRx =PORT_PCR_MUX(1)ORTA配置完成后,直接在后面接
    PORTB_PCRx =PORT_PCR_MUX(1),直到弄完吗?
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2019-9-17 13:22
  • 签到天数: 238 天

    连续签到: 1 天

    [LV.7]常住居民III

    30

    主题

    905

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    2251
    最后登录
    2024-10-8
     楼主| 发表于 2015-3-23 17:22:11 | 显示全部楼层
    FSL_TICS_ZJJ 发表于 2015-3-23 17:16
    这种方法是裸板程序的方法,因为我不是MQX的工程师。
    需要先清除MUX,然后重新设置。
    PORTA_PCRx &=~PORT_ ...

    好,非常感谢。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6

    主题

    147

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    386
    最后登录
    2019-7-30
    发表于 2015-3-24 07:26:28 | 显示全部楼层
    学习一下了。。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    145

    主题

    4926

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    9267
    最后登录
    1970-1-1
    发表于 2015-3-24 09:12:32 | 显示全部楼层
    very333 发表于 2015-3-23 17:22
    好,非常感谢。

    非常感谢你关于Kinetis的技术问题。如果你没有其他问题,我们将此贴默认为已解决.
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-22 20:56 , Processed in 0.099426 second(s), 28 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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