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.

[参考译文] TM4C123GH6PM:为什么看门狗1需要至少一个 UART 才能启用?

Guru**** 2763595 points

Other Parts Discussed in Thread: TM4C123GH6PM

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1063481/tm4c123gh6pm-why-does-watchdog-1-need-at-least-one-uart-to-be-enabled

器件型号:TM4C123GH6PM

在 TM4C123GH6PM 上、我使用 TI 系统控制驱动程序函数(SYSCTL.h、ROM_MAP.h)来设置看门狗定时器1 (WDT1、由 PIOSC 计时)。 由于未知原因、除非先启用 UART、否则此等待就绪循环将永远不会退出:

while (map_SysCtlPeripheralReady (SYSCTL_Periph_WDOG1));

在 while 循环之前执行以下代码行将允许上述 while 循环退出。 注意:这不仅是循环的问题、也是看门狗功能的问题、因为在尝试使用看门狗时、只注释掉循环会导致崩溃、大概是因为看门狗在未启用 UART 的情况下不可用。 此外、启用哪一个 UART 似乎无关紧要(它不必是 UART1)、只要至少启用了一个 UART:

MAP_SysCtlPeripheralEnable (SYSCTL_Periph_UART1);

其他信息:看门狗定时器0 (WDT0、由系统时钟计时)似乎不需要启用的 UART 即可正常工作。

为什么需要启用 UART 才能使用 WDT1? 是否有其他方法可以使 WDT1在不启用 UART 的情况下工作?

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

    您好 Jeffry、

    此问题是一个记录在案的勘误项 WDT#01: https://www.ti.com/lit/pdf/spmz849

    根据勘误表、您需要首先启用 UART、SSI 或 ADC 之一以使用 WDT1。

    如果您在阅读勘误表详细信息后还有其他问题、请告诉我。

    此致、

    Ralph Jacobi