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.

[参考译文] MSP430F1612:UART0配置无效

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1135680/msp430f1612-uart0-configuration-not-working

器件型号:MSP430F1612
Thread 中讨论的其他器件: DRV8842EVM

您好!

我尝试在具有 MSP430F1612的 DRV8842EVM 板上配置 UART0。

我可以在 P3.5/URXD0引脚上看到字符。

RXBUF 永远不会改变并且永远不会触发中断。

P3SEL = 0x30;// P3.5=TX (RS232 MOSI)、P3.4=RX (RS232 MISO)

//配置 UART
U0CTL = SWRST;//在 CONFIG 期间将 SWRST 保持为高电平
U0CTL = CHAR | SWRST;// 8-N-1 UART、SWRST
U0TCTL = 0x30;// SMCLK = 8MHz
// U0BR0 = 0xA1;// 417 = 0x01A1、8MHz / 417 = 19184.65
// U0BR1 = 0x01;
对于 FT232R USB 收发器、U0BR0 = 0x08;// 8MHz/8 = 1MHz
U0BR1 = 0x00;
ME1 = URXE0 | UTXE0;//启用接收和发送
IE1 = URXIE0;//仅启用 Rx 中断(当前)
U0CTL &=~SWRST;//清除 SWRST

请提供建议。

谢谢、

EMmett

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

    我认为波特率有问题。

    我打算将其设置为 SMCLK/8 = 8MHz/8 = 1MHz。

    我开始发送 TX 字节、看起来是100kHz。

    这与 U0MCTL 有关系吗?

    我使 U0MCTL = 0。

    谢谢、

    EMmett

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

    您好、Emmett、

    首先、我将仔细检查您的 UART 波特率设置。

    您可以使用此计算器得出正确的值:

    https://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/MSP430BaudRateConverter/index.html

    关于中断、您是否已启用全局中断 GIE = 1?

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

    尊敬的 Dennis:

    感谢您的回复。

    我确实会进一步启用 GIE。

    我运行了该计算器、看起来我具有这些波特设置、但 TX 上的波特率看起来是100kHz、而不是1MHz。

    我看不到过采样波特率生成方面的任何信息。

    谢谢、

    EMmett

    //配置 UART
    U0CTL = SWRST;//在 CONFIG 期间将 SWRST 保持为高电平
    U0CTL = CHAR | SWRST;// 8-N-1 UART、SWRST
    U0TCTL = 0x30;// SMCLK = 8MHz
    // U0BR0 = 0xA1;// 417 = 0x01A1、8MHz / 417 = 19184.65
    // U0BR1 = 0x01;
    对于 FT232R USB 收发器、U0BR0 = 0x08;// 8MHz/8 = 1MHz
    U0BR1 = 0x00;
    U0MCTL = 0x00;//调制控制位
    ME1 = URXE0 | UTXE0;//启用接收和发送
    U0CTL &=~SWRST;//清除 SWRST
    IE1 = URXIE0;//仅启用 Rx 中断(当前)

    //针对 PWM 配置计时器 B (DRV8842EVM)
    TBCTL = 0x01D2;// ACLK /8、上行模式、启用 TBIFG 中断
    _bis_SR_register (GIE);//启用不可屏蔽中断

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

    您好、Emmett、

    尝试将 UART 配置为115200并测量比特率频率。

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

    您好、Emmett、

    我从您那里听说过几天,因此我假设您能够解决您的问题。
    我将此帖子标记为已解决。 如果情况并非如此,请单击“这无法解决我的问题”按钮,并使用更多信息回复此主题。
    如果此主题锁定、请单击"提出相关问题"按钮、然后在新主题中描述您的问题的当前状态以及您可能需要帮助我们帮助解决您的问题的任何其他详细信息。

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

    我明天应该能够尝试一下。  

    谢谢、

    EMmett

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

    您好、Emmett、

    我从您那里听说过几天,因此我假设您能够解决您的问题。
    我将此帖子标记为已解决。 如果情况并非如此,请单击“这无法解决我的问题”按钮,并使用更多信息回复此主题。
    如果此主题锁定、请单击"提出相关问题"按钮、然后在新主题中描述您的问题的当前状态以及您可能需要帮助我们帮助解决您的问题的任何其他详细信息。