Other Parts Discussed in Thread: MSP430FR6989
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号: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