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.

[参考译文] AM3359:Starterware AM3358 UART1、UART2、UART3、UART4和 UART5

Guru**** 2538955 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1003113/am3359-starterware-am3358-uart1-uart2-uart3-uart4-and-uart5

器件型号:AM3359

您好!

使用 Starterware 成功地将 UART2、UART3、UART4和 UART5与 BeagleBone Black 连接,请告诉我。

谢谢、此致、

Shubhakara P S

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

    嗨、大家好、

    我已经解决了这个问题,欢呼!!!!!!!!!

    在这里、我要为 UART2添加 Pinmux 配置  

    // UART2的引脚复用设置  

    /* RXD */
    HWREG (SOC_CONTRAL_REGS +CONTRAL_CONF_SPI0_SCLK)=
    (CONTRAL_CONF_MUXMODE (1)|
    CONTRAL_CONF_SPI0_SCLK_CONF_SPI0_SCLK_PUTYPESEL |
    CONTRAL_CONF_SPI0_SCLK_CONF_SPI0_SCLK_RXACTIVE);

    /* TXD */
    HWREG (SOC_CONTRAL_REGS + CONTRAL_CONF_SPI0_D0)=
    (CONTRAL_CONF_MUXMODE (1)|
    CONTRAL_CONF_SPI0_D0_CONF_SPI0_D0_PUTYPESEL);

    //模块时钟配置。

    空 UART2ModuleClkConfig (空)

    HWREG (SOC_CM_PER_REGS + CM_PER_L3S_CLKSTCTRL)=
    CM_PER_L3S_CLKSTCTRL_CLKTRCTRL_SW_WKUP;

    while ((HWREG (SOC_CM_PER_regs + CM_PER_L3S_CLKSTCTRL)&
    CM_PER_L3S_CLKSTCTRL_CLKTRCTRL)!= CM_PER_L3S_CLKSTCTRL_CLKTRCTRL_SW_WKUP);

    HWREG (SOC_CM_PER_regs + CM_PER_L3_CLKSTCTRL)=
    CM_PER_L3_CLKSTCTRL_CLKTRCTRL_SW_WKUP;

    while ((HWREG (SOC_CM_PER_regs + CM_PER_L3_CLKSTCTRL)&
    CM_PER_L3_CLKSTCTRL_CLKTRCTRL)!= CM_PER_L3_CLKSTCTRL_CLKTRCTRL_SW_WKUP);

    HWREG (SOC_CM_PER_REGS + CM_PER_L3_INSTR_CLKCTRL)=
    CM_PER_L3_INSTR_CLKCTRL_MODULEMODE_ENABLE;

    while ((HWREG (SOC_CM_PER_Regs + CM_PER_L3_INSTR_CLKCTRL)&
    CM_PER_L3_INSTR_CLKCTRL_MODULEMODE)!=
    CM_PER_L3_INSTR_CLKCTRL_MODULEMODE_ENABLE);

    HWREG (SOC_CM_PER_Regs + CM_PER_L3_CLKCTRL)=
    CM_PER_L3_CLKCTRL_MODULEMODE_ENABLE;

    while ((HWREG (SOC_CM_PER_regs + CM_PER_L3_CLKCTRL)&
    CM_PER_L3_CLKCTRL_MODULEMODE)!= CM_PER_L3_CLKCTRL_MODULEMODE_ENABLE);

    HWREG (SOC_CM_PER_REGS + CM_PER_OCPWP_L3_CLKSTCTRL)=
    CM_PER_OCPWP_L3_CLKSTCTRL_CLKTRCTRL_SW_WKUP;

    while ((HWREG (SOC_CM_PER_regs + CM_PER_OCPWP_L3_CLKSTCTRL)和
    CM_PER_OCPWP_L3_CLKSTCTRL_CLKTRCTRL)!=
    CM_PER_OCPWP_L3_CLKSTCTRL_CLKTRCTRL_SW_WKUP);

    HWREG (SOC_CM_PER_REGS + CM_PER_L4LS_CLKSTCTRL)=
    CM_PER_L4LS_CLKSTCTRL_CLKTRCTRL_SW_WKUP;

    while ((HWREG (SOC_CM_PER_regs + CM_PER_L4LS_CLKSTCTRL)&
    CM_PER_L4LS_CLKSTCTRL_CLKTRCTRL)!=
    CM_PER_L4LS_CLKSTCTRL_CLKTRCTRL_SW_WKUP);

    HWREG (SOC_CM_PER_REGS + CM_PER_L4LS_CLKCTRL)=
    CM_PER_L4LS_CLKCTRL_MODULEMODE_ENABLE;

    while ((HWREG (SOC_CM_PER_regs + CM_PER_L4LS_CLKCTRL)&
    CM_PER_L4LS_CLKCTRL_MODULEMODE)!= CM_PER_L4LS_CLKCTRL_MODULEMODE_ENABLE);


    HWREG (SOC_CM_PER_regs + CM_PER_UART2_CLKCTRL)|= CM_PER_UART2_CLKCTRL_MODULEMODE_ENABLE;


    while ((HWREG (SOC_CM_PER_Regs + CM_PER_UART2_CLKCTRL)&
    CM_PER_UART2_CLKCTRL_MODULEMODE)!= CM_PER_UART2_CLKCTRL_MODULEMODE_ENABLE);

    while (!(HWREG (SOC_CM_PER_regs + CM_PER_L3S_CLKSTCTRL)&
    CM_PER_L3S_CLKSTCTRL_CLKACTIVITY_L3S_GCLK);

    while (!(HWREG (SOC_CM_PER_regs + CM_PER_L3_CLKSTCTRL)&
    CM_PER_L3_CLKSTCTRL_CLKACTIVITY_L3_GCLK);

    while (!(HWREG (SOC_CM_PER_Regs + CM_PER_OCPWP_L3_CLKSTCTRL)&
    (CM_PER_OCPWP_L3_CLKSTCTRL_CLKACTIVITY_OCPWP_L3_GCLK |
    CM_PER_OCPWP_L3_CLKSTCTRL_CLKACTIVITY_OCPWP_L4_GCLK)));

    while (!(HWREG (SOC_CM_PER_regs + CM_PER_L4LS_CLKSTCTRL)&
    (cm_per_L4LS_CLKSTCTRL_CLKACTIVITY_L4LS_GCLK |
    CM_PER_L4LS_CLKSTCTRL_CLKACTIVITY_UART_GFCLK)));


    //等待 MODULEMODE 位域反映写入值。 *
    while (CM_PER_UART2_CLKCTRL_MODULEMODE_ENABLE!=
    (HWREG (SOC_CM_PER_Regs + CM_PER_UART2_CLKCTRL)和
    CM_PER_UART2_CLKCTRL_MODULEMODE));

    /*
    **等待 CM_WKUP_UART2_CLKCTRL 寄存器中的 IDLEST 域达到
    **所需值。
    *
    while (((CM_PER_UART2_CLKCTRL_IDLEST_FUNC <<
    CM_PER_UART2_CLKCTRL_IDLEST_SHIFT)!=
    (HWREG (SOC_CM_PER_Regs + CM_PER_UART2_CLKCTRL)和
    CM_PER_UART2_CLKCTRL_IDLEST);

    谢谢、

    Shubhakara P S

    谢谢、此致、

    Shubhakara P S