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.

[参考译文] MSP430FR6989:具有 ACLK 的反向通道 UART

Guru**** 2812305 points

Other Parts Discussed in Thread: MSP430FR6989

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/895990/msp430fr6989-backchannel-uart-with-aclk

器件型号:MSP430FR6989

尊敬的:  

对于我的项目、我使用 MSP430FR6989的反向通道 UART 连接和 ACLK (而不是 SMCLK)。 我参考了示例软件的示例、但我似乎无法使其正常工作。  
我的代码如下:  

#include 

int main (void)
{
WDTCTL = WDTPW | WDTHOLD; //停止看门狗

//配置 GPIO
P3SEL0 |= BIT4 + BIT5; // eUSCI_A1 UART
P3SEL1 &=~(BIT4 + BIT5); // eUSCI_A1 UART

//禁用 GPIO 上电默认高阻抗模式以激活
//先前配置的端口设置
PM5CTL0 &&~LOCKLPM5;

// XT1设置
CSCTL0_H = CSKEY >> 8;//解锁 CS 寄存器
CSCTL2 = SELA_LFXTCLK |}_DCOCLK | SELM__DCOCLK;
CSCTL3 = DIVA_1 | DISALVM_1;//设置所有 OFCLK




;CSCTL3 = DIVA_1 ~TOFFG1| DIFFFG1
;//设置所有 FFFMCLIFG 和 CLFAUL = FFF = FFF = FFF = FFT1+ FFF = FFT = FFT1+ FFF = FFT = FFF ~μ F + FFF = CL1;//将 CL1 ~FFF = FFF = FFF = FFF + FFF = //测试振荡器故障标志
CSCTL0_H = 0;//锁定 CS 寄存器

//将 USCI_A1配置为 UART 模式
UCA1CTLW0 = UCSWRST;//将 eUSCI 置于复位
UCA1CTLW0 |= UCSSEL_ACLK;// CLK = ACLK
UCA1BR0 = 0x9600
| UCA5300 = UCA5300;//波特率= UCA5300;// TCALW = 0x3;// // 32768/9600 - INT (32768/9600)=0.41
// UCBRSx 值= 0x53 (请参阅 UG)
UCA1BR1 = 0;
UCA1CTL1 &=~UCSWRST;//初始化 eUSCI
UCA1IE |= UCRXIE;//启用 USCI_A0 RX 中断

__bis_pruels_(





_IAR)|#TI_CONVERSI_IN_ERSI_IN_ING_3)|(_ COMPIAR _ COMPIAR _ COMPIAR (_已定义_版本_)_(_ ING_IN_COMPIAR)_(_ IN_COMPIAR)_ ING_NOTE_COMPLETE_COMPLETE_INEST_R_(_ // 04/07/2020
#pragma vector=USCI_A1_vector
__interrupt void USCI_A1_ISR (void)
#elif defined (__GNU__)
void __attribute__((interrupt (USCI_A1_vector))) USCI_A1_ISR (void)
#else
#error Compiler not supported!
#endif
{
switch (__even_in_range (UCA1IV、USCI_UART_UCTXCPTIFG))
}{
USCI_NONE 案例:中断;
USCI_UART_UCRXIFG 案例:
while (!(UCA1IFG&UCTXIFG));
UCA1TXBUF = 0x55;
__no_operation();
中断;
案例 USCI_UART_UCTXIFG:中断;
案例 USCI_UART_UCSTTIFG:中断;
案例 USCI_UART_UCTXCPTIFG:break;
}
} 

端口3的位4和位5被正确置位、我初始化 ACLK 并将其连接到 UCA1、波特率被计算并输入。 我还调整了所有内容、以使用 UCA1而不是 UCA0。 但它不起作用。  

此致、并提前感谢您、  
Yannick

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

    大家好、Yannick、  

    如果您使用示波器探测 XT1引脚、则可能找不到时钟振荡、因为未选择 XT1引脚。  

    请启用 XT1引脚并重试。  

    • PJSEL0 |= BIT4 | BIT5;           //配置 XT1引脚

    谢谢、  

    Lixin