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.

[参考译文] TM4C1294NCPDT:以太网活动 LED (PK5)在 TM4C1294NCPDT 中不工作

Guru**** 2390935 points
Other Parts Discussed in Thread: TM4C1294NCPDT, EK-TM4C1294XL

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1192848/tm4c1294ncpdt-ethernet-activity-led-pk5-is-not-working-in-tm4c1294ncpdt

器件型号:TM4C1294NCPDT
Thread 中讨论的其他器件: EK-TM4C1294XL

大家好、团队、

我们使用的是具有 TM4C1294NCPDT 微控制器的定制板。 其中、我们使用了 PK_4和 PK_5引脚作为以太网链路/活动 LED。 目前、我们使用 Enet_IO Tivaware 代码进行测试、并按如下方式更改了 drivers/pinout.c 文件中的以太网 LED 代码部分。

MAP_GPIOPinConfigure (GPIO_PK4_EN0LED0);
MAP_GPIOPinConfigure (GPIO_PK5_EN0LED2);

MAP_GPIOPinTypeEthernetLED (GPIO_PORTK_base、GPIO_PIN_4 | GPIO_PIN_5);

执行上述配置后、PK4和 PK5 LED 仅用作链路 LED。 但是、根据 tm4c1294ncpdt 数据表(第20.4.2.4节)、PK5 (EN0LED2)应充当活动 LED。 请向我们说明此问题。

谢谢你。

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

    您好、Chedthan、

    因此、20.4.2.4上的语句中的数据表稍有错误。 其唯一设置为 TX/RX 活动 LED 的 LED1。 LED2设置为指示100 Base TX。 您将看到 LED1的实际"复位时"设置为0x01、LED2为0x05。 因此、您看到的内容似乎对实际器件设置是准确的。

     您只需使用硬件级调用来配置 EPHYLEDCFG 寄存器。 我很惊讶我们没有 TivaWare 函数、但您会发现 hw_emac.h 的寄存器定义为 EPHY_LEDCFG、然后从第1745行开始、提供了以下定义:

    #define EPHY_LEDCFG_LED2_M      0x00000F00  // LED2 Configuration
    #define EPHY_LEDCFG_LED2_LINK   0x00000000  // Link OK
    #define EPHY_LEDCFG_LED2_RXTX   0x00000100  // RX/TX Activity
    #define EPHY_LEDCFG_LED2_TX     0x00000200  // TX Activity
    #define EPHY_LEDCFG_LED2_RX     0x00000300  // RX Activity
    #define EPHY_LEDCFG_LED2_COL    0x00000400  // Collision
    #define EPHY_LEDCFG_LED2_100BT  0x00000500  // 100-Base TX
    #define EPHY_LEDCFG_LED2_10BT   0x00000600  // 10-Base TX
    #define EPHY_LEDCFG_LED2_FD     0x00000700  // Full Duplex
    #define EPHY_LEDCFG_LED2_LINKTXRX                                             \
                                    0x00000800  // Link OK/Blink on TX/RX Activity
    #define EPHY_LEDCFG_LED1_M      0x000000F0  // LED1 Configuration
    #define EPHY_LEDCFG_LED1_LINK   0x00000000  // Link OK
    #define EPHY_LEDCFG_LED1_RXTX   0x00000010  // RX/TX Activity
    #define EPHY_LEDCFG_LED1_TX     0x00000020  // TX Activity
    #define EPHY_LEDCFG_LED1_RX     0x00000030  // RX Activity
    #define EPHY_LEDCFG_LED1_COL    0x00000040  // Collision
    #define EPHY_LEDCFG_LED1_100BT  0x00000050  // 100-Base TX
    #define EPHY_LEDCFG_LED1_10BT   0x00000060  // 10-Base TX
    #define EPHY_LEDCFG_LED1_FD     0x00000070  // Full Duplex
    #define EPHY_LEDCFG_LED1_LINKTXRX                                             \
                                    0x00000080  // Link OK/Blink on TX/RX Activity
    #define EPHY_LEDCFG_LED0_M      0x0000000F  // LED0 Configuration
    #define EPHY_LEDCFG_LED0_LINK   0x00000000  // Link OK
    #define EPHY_LEDCFG_LED0_RXTX   0x00000001  // RX/TX Activity
    #define EPHY_LEDCFG_LED0_TX     0x00000002  // TX Activity
    #define EPHY_LEDCFG_LED0_RX     0x00000003  // RX Activity
    #define EPHY_LEDCFG_LED0_COL    0x00000004  // Collision
    #define EPHY_LEDCFG_LED0_100BT  0x00000005  // 100-Base TX
    #define EPHY_LEDCFG_LED0_10BT   0x00000006  // 10-Base TX
    #define EPHY_LEDCFG_LED0_FD     0x00000007  // Full Duplex
    #define EPHY_LEDCFG_LED0_LINKTXRX                                             \
                                    0x00000008  // Link OK/Blink on TX/RX Activity

    此致、

    Ralph Jacobi

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

    谢谢 Ralph Jacobi、

    我们   已经在定制板中为以太网链路/活动 LED 配置了 PK_4和 PK_5引脚、现在  无法通过修改来使用这些引脚  

    一些电阻器或代码?

    是否还有其他可能使它们正常工作。  请向我们说明此问题。

    谢谢此致  

    Chedthan

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

    您好、Chedthan、

    [引用 userid="549780" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1192848/tm4c1294ncpdt-ethernet-activity-led-pk5-is-not-working-in-tm4c1294ncpdt/4497406 #4497406"]

    我们   已经在定制板中为以太网链路/活动 LED 配置了 PK_4和 PK_5引脚、现在  无法通过修改来使用这些引脚  

    一些电阻器或代码?

    [/报价]

    您能否发布用于执行此操作的代码? 您之前发布的代码仅使其可用于以太网外设、它不会显式将其转换为显示以太网活动的 LED。

    此致、

    Ralph Jacobi

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

    您好、Ralph Jacobi、

    我们使用了 Enet_IO Tivaware 库代码。 我们仅 修改了 drivers/pinout.c 文件。  如前所述、我们已将 PF_0和 PF_4分别替换为 PK_4和 PK_5。

     我们是否需要在其他任何位置添加/修改代码以使 PK_4和 PK_5分别用作以太网链路和活动 LED?

    我使用 EK-TM4C1294XL Launchpad 测试了相同的代码、并将 PK_6配置为以太网 LED。 我观察到、PK_6作为活动 LED 正常工作。 问题仅与 PK_5有关。

    谢谢、

    此致、

    Chedthan

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

    您好、Chedthan、

    因此、您将遇到以下情况:

    PF0和 PK4都映射到 LED0。

    但 PF4映射到 LED1、PK5映射到 LED2。

    Enet_IO 示例不会更改 LED 的任何寄存 器配置、因为 PF4映射到 LED1、该 LED1设置为显示 RX/TX 活动。

    但是、当您现在在应用中使用 LED2时、必须将默认寄存器设置从0x05更改为0x01、以使 RX/TX 活动显示在 LED2上。

    更改   EPHY_LEDCFG 设置之前、PK5不会显示 RX/TX 活动。

    此致、

    Ralph Jacobi