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.
Hi. I am following the MSP430 UART sample code for use in the MSP-EXP430FR5994 Dev Kit. In the code, pins 6.0 and 6.1 are used as output and input, respectively. However, I was wondering what 6.0 and 6.1 need to be connected to for UART to work. Is it another USB port (not the usual USB connection) back to the computer I'm running CCS on, where the input and outputs will be displayed on the CCS Terminal? Or is it something else?
The code, for clarity:
#include <msp430.h> int main(void) { WDTCTL = WDTPW | WDTHOLD; // Stop Watchdog // Configure GPIO P6SEL1 &= ~(BIT0 | BIT1); P6SEL0 |= (BIT0 | BIT1); // USCI_A3 UART operation // Disable the GPIO power-on default high-impedance mode to activate // previously configured port settings PM5CTL0 &= ~LOCKLPM5; // Startup clock system with max DCO setting ~8MHz CSCTL0_H = CSKEY_H; // Unlock CS registers CSCTL1 = DCOFSEL_3 | DCORSEL; // Set DCO to 8MHz CSCTL2 = SELA__VLOCLK | SELS__DCOCLK | SELM__DCOCLK; CSCTL3 = DIVA__1 | DIVS__1 | DIVM__1; // Set all dividers CSCTL0_H = 0; // Lock CS registers // Configure USCI_A3 for UART mode UCA3CTLW0 = UCSWRST; // Put eUSCI in reset UCA3CTLW0 |= UCSSEL__SMCLK; // CLK = SMCLK // Baud Rate calculation // 8000000/(16*9600) = 52.083 // Fractional portion = 0.083 // User's Guide Table 21-4: UCBRSx = 0x04 // UCBRFx = int ( (52.083-52)*16) = 1 UCA3BRW = 52; // 8000000/16/9600 UCA3MCTLW |= UCOS16 | UCBRF_1 | 0x4900; UCA3CTLW0 &= ~UCSWRST; // Initialize eUSCI UCA3IE |= UCRXIE; // Enable USCI_A3 RX interrupt __bis_SR_register(LPM3_bits | GIE); // Enter LPM3, interrupts enabled __no_operation(); // For debugger } #if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__) #pragma vector=EUSCI_A3_VECTOR __interrupt void USCI_A3_ISR(void) #elif defined(__GNUC__) void __attribute__ ((interrupt(EUSCI_A3_VECTOR))) USCI_A3_ISR (void) #else #error Compiler not supported! #endif { switch(__even_in_range(UCA3IV, USCI_UART_UCTXCPTIFG)) { case USCI_NONE: break; case USCI_UART_UCRXIFG: while(!(UCA3IFG&UCTXIFG)); UCA3TXBUF = UCA3RXBUF; __no_operation(); break; case USCI_UART_UCTXIFG: break; case USCI_UART_UCSTTIFG: break; case USCI_UART_UCTXCPTIFG: break; default: break; } }
Hi Oscar,
P6.0 and P6.1 are the TXD(transmit) and RXD(receive) pins, respectively. You need to short these pins.
For this exercise, the MSP430FR5994 is serially communicating with your PC. You will need to set up a communication port on your PC. Please see the link below on how to do this.
Our "MSP Academy – UART Introduction Lab" should definitely answer all of your questions if you are still unsure.
Here is the link: https://dev.ti.com/tirex/explore/node?node=APp7.oREwBGnUCCkFPP9XQ__IOGqZri__LATEST
regards,
Henok
**Attention** This is a public forum