This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TM4C1294KCPDT:EPI 配置

Guru**** 2124380 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/658451/tm4c1294kcpdt-epi-configuration

器件型号:TM4C1294KCPDT

尊敬的先生,亲爱的朋友们,

配置 EPI 的通用模式。 我正在参考驱动程序库用户指南中的示例。 在该示例中、它们没有为 EPI 目的配置 GPIO 引脚。 那么、我是否需要为 EPI 目的配置 GPIO 引脚?  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Digvijay、

     您能参考下的 TivaWare EPI 示例 \examples\peripherals\EPI? 下面是示例中为 EPI 配置 GPIO 引脚的代码片段。

    //
    //此步骤配置内部管脚多路复用器以设置要使用的 EPI 管脚
    //使用 EPI。 有关引脚的更多信息、请参阅数据表
    //多路复用。 请注意、EPI0S27:20不用于 EPI SDRAM
    //实施。
    // TODO:根据上的 EPI 引脚分配更新此部分
    //目标零件。
    //
    
    //
    // EPI0S4 ~ EPI0S7:C4 ~ 7
    //
    ui32Val = HWREG (GPIO_PORTC_BASE + GPIO_PCTL);
    ui32Val &= 0x0000FFFF;
    ui32Val |= 0xFFFFFF0000;
    HWREG (GPIO_PORTC_BASE + GPIO_O_PCTL)= ui32Val;
    
    //
    // EPI0S8 ~ EPI0S9:A6 ~ 7
    //
    ui32Val = HWREG (GPIO_PORta_base + GPIO_PCTL);
    ui32Val &= 0x00FFFFFF;
    ui32Val |= 0xFF000000;
    HWREG (GPIO_PORta_base + GPIO_PCTL)= ui32Val;
    
    //
    // EPI0S10 ~ EPI0S11:G0 ~ 1
    //
    ui32Val = HWREG (GPIO_PORTG_BASE + GPIO_PCTL);
    ui32Val &= 0xFFFFFF00;
    ui32Val |= 0x000000FF;
    HWREG (GPIO_PORTG_BASE + GPIO_O_PCTL)= ui32Val;
    
    //
    // EPI0S12 ~ EPI0S15:M0 ~ 3
    //
    ui32Val = HWREG (GPIO_PORTM_BASE + GPIO_PCTL);
    ui32Val &= 0xFFFFFF0000;
    ui32Val |= 0x0000FFFF;
    HWREG (GPIO_PORTM_BASE + GPIO_O_PCTL)= ui32Val;
    
    //
    // EPI0S16 ~ EPI0S19:l0 ~ 3
    //
    ui32Val = HWREG (GPIO_PORTL_base + GPIO_PCTL);
    ui32Val &= 0xFFFFFF0000;
    ui32Val |= 0x0000FFFF;
    HWREG (GPIO_PORTL_BASE + GPIO_O_PCTL)= ui32Val;
    
    //
    // EPI0S28:B3
    //
    ui32Val = HWREG (GPIO_PORTB_BASE + GPIO_O_PCTL);
    ui32Val &= 0xFFFFFFF;
    ui32Val |= 0x0000F000;
    HWREG (GPIO_PORTB_BASE + GPIO_O_PCTL)= ui32Val;
    
    //
    // EPI0S29 ~ EPI0S30:n2 ~ 3
    //
    ui32Val = HWREG (GPIO_PORTN_BASE + GPIO_PCTL);
    ui32Val &= 0xFFFFFF;
    ui32Val |= 0x0000FF00;
    HWREG (GPIO_PORTN_BASE + GPIO_O_PCTL)= ui32Val;
    
    //
    // EPI0S00 ~ EPI0S03,EPI0S31:K0 ~ 3,K5
    //
    ui32Val = HWREG (GPIO_PORTK_base + GPIO_PCTL);
    ui32Val &= 0xFF0F0000;
    ui32Val |= 0x00F0FFFF;
    HWREG (GPIO_PORTK_base + GPIO_O_PCTL)= ui32Val;
    
    //
    //为 EPI 模式配置 GPIO 引脚。 所有 EPI 管脚都需要8mA 的电流
    //推挽操作中的驱动强度。 此步骤还提供对的控制
    连接到 EPI 模块的//引脚。
    //
    GPIOPinTypeEPI (GPIO_Porta_base、EPI_Porta_Pins);
    GPIOPinTypeEPI (GPIO_PORTB_BASE、EP_PORTB_Pins);
    GPIOPinTypeEPI (GPIO_PORTC_BASE、EP_PORTC_Pins);
    GPIOPinTypeEPI (GPIO_PORTG_base、EP_PORTG_Pins);
    GPIOPinTypeEPI (GPIO_PORTK_base、EPI_PORTK_Pins);
    GPIOPinTypeEPI (GPIO_PORTL_base、EPI_PORTL_Pins);
    GPIOPinTypeEPI (GPIO_PORTM_BASE、EP_PORTM_Pins);
    GPIOPinTypeEPI (GPIO_PORTN_BASE、EP_PORTN_Pins);