RT强攻之IOMUX

关键词:IO IOMUX IOMUX_CONTROLLER

目标:配置IO

步骤:

  1. 使能IOMUXController的时钟CLOCK_EnableClock(kCLOCK_Iomuxc); 
  2. 设置相对应的IO口复用功能,IOMUXC_SetPinMux
  3. 配置IO口的属性:
    1. 压摆率,强制默认设置为低
    2. 驱动能力设置:默认设置为R0/6,暂未理解,后期分析
    3. 翻转频率:100MHz
    4. 高阻态开关。如果使能高阻态,那么配置上下来电阻是否还有效?需验证
    5. 后续状态保持开关,一般使能。具体情况看应用
    6. 后续状态处理方式:上下拉或者保持,与上面一条是否想关联?需验证
    7. 上下拉电阻值设置
    8. 滞后功能开关(目前尚不明白滞后功能啥用,默认关闭)
  4. 设置CPU频率
  5. 初始化IO口:GPIO_PinInit(EXAMPLE_LED_GPIO, EXAMPLE_LED_GPIO_PIN, &led_config);

IO口复用设置解析

    IOMUXC_SetPinMux(IOMUXC_GPIO_AD_B0_09_GPIO1_IO09,0U);
 /*
    ----------------IO复用设置------------
    IOMUXC_GPIO_AD_B0_09_GPIO1_IO09的定义为 0x401F80E0U, 0x5U, 0, 0, 0x401F82D0U
    含义分别为:muxRegister,muxMode,inputRegister,inputDaisy,configRegister
    根据SDK,每个IO口的每个复用功能,都定义有这个宏定义。所以后期要使用某个IO口的功能,直接使用宏即可,不用考虑其含义
  */

IO口属性设置解析

  IOMUXC_SetPinConfig(IOMUXC_GPIO_AD_B0_09_GPIO1_IO09,0x10B0u); 

  /*
  Slew Rate Field: Slow Slew Rate  低压摆率,不明白,默认值
  Drive Strength Field: R0/6       驱动功率,3.3v供电,R0=260欧姆
  Speed Field: medium(100MHz)      频率:有50MHz 100MHz 200MHz
  Open Drain Enable Field: Open Drain Disabled  禁止高阻态
  Pull / Keep Enable Field: Pull/Keeper Enabled 开启后续状态保持
  Pull / Keep Select Field: Keeper              后续状态为保持,也可以设置为pull
  Pull Up / Down Config. Field: 100K Ohm Pull Down 下拉,电阻为100千欧
  Hyst. Enable Field: Hysteresis Disabled 滞后禁止,不明白,默认值
  */

 

转载于:https://my.oschina.net/u/3279425/blog/1601310

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值