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.

[参考译文] UCD3138:有关 void init_uart0 (void) UCD3138固件的一些问题

Guru**** 2463330 points
Other Parts Discussed in Thread: UCD3138

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/679887/ucd3138-some-questions-about-void-init_uart0-void-ucd3138-firmware

器件型号:UCD3138

你好
我正在学习 UCD3138全桥硬开关开发板固件
我对 void init_uart0 (void)有一些疑问
void init_uart0 (void)

Uart0Regs.UARTCTRL3.bit.SW_RESET = 0;
Uart0Regs.UARTCTRL3.bit.clock = 1;//内部时钟选择;
Uart0Regs.UARTCTRL3.bit.SW_RESET = 1;
Uart0Regs.UARTIOCTRLSCLK/bit.IO_FUNC = 0;

我不知道为什么初始化 UART0、首先是 SW_RESET = 0、最后是 SW_RESET = 1、这是为什么?
UART 使用内部时钟。 哪个模块是内部时钟、它在哪里设置?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    SW_RESET 位上的低边沿到高边沿会复位 UART 外设、包括其内部计数器、以便其能够以全新方式开始工作并正确初始化、并且在内部不存在任何随机状态。
    该 UART 模块用于多个 TI 芯片、如果是 UCD3138、则不支持时钟= 0 (外部时钟)。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好
    是否可以理解为当 UART 初始化时、会屏蔽软件复位以防止软件复位干扰 UART 初始化。
    初始化完成后、软件可以再次复位、对吧?
    UCD3138有3个时钟模块:T24、T16PWM 和 WD。
    哪个模块是 UART 内部时钟?
    谢谢你
    ZJYL
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的。 固件可以随时应用复位、甚至是 aftyer 初始化。
    但是 、如果您不更改 UART 配置中的任何内容、通常不需要该选项。

    例如、如果您应用了修改波特率设置的自动波特率校正算法、则需要在更改后应用复位。
    但否则 可能不需要复位。

    T24、T16PWM 和 WD 是计时器模块、而不是时钟源。

    UART 使用15.625MHz 时钟进行工作。

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