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.
Tool/software: TI C/C++ Compiler
Hello,
I saw this echo example and I am trying to use the CCS terminal to communicate with my MSP430G2553 processor. In the Launch Terminal window I only have 3 serial port options, COM1, COM3, and COM6. When I select COM1 or COM3, I am unable to do anything in the terminal window. When I select COM6 (see picture) CCS locks up when I try to send a command. Is there a setting I missed that is preventing me from communicating with the processor?
/* --COPYRIGHT--,BSD_EX * Copyright (c) 2012, Texas Instruments Incorporated * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * * Neither the name of Texas Instruments Incorporated nor the names of * its contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * ******************************************************************************* * * MSP430 CODE EXAMPLE DISCLAIMER * * MSP430 code examples are self-contained low-level programs that typically * demonstrate a single peripheral function or device feature in a highly * concise manner. For this the code may rely on the device's power-on default * register values and settings such as the clock configuration and care must * be taken when combining code from several examples to avoid potential side * effects. Also see www.ti.com/grace for a GUI- and www.ti.com/msp430ware * for an API functional library-approach to peripheral configuration. * * --/COPYRIGHT--*/ //****************************************************************************** // MSP430G2xx3 Demo - USCI_A0, 9600 UART Echo ISR, DCO SMCLK // // Description: Echo a received character, RX ISR used. Normal mode is LPM0. // USCI_A0 RX interrupt triggers TX Echo. // Baud rate divider with 1MHz = 1MHz/9600 = ~104.2 // ACLK = n/a, MCLK = SMCLK = CALxxx_1MHZ = 1MHz // // MSP430G2xx3 // ----------------- // /|\| XIN|- // | | | // --|RST XOUT|- // | | // | P1.2/UCA0TXD|------------> // | | 9600 - 8N1 // | P1.1/UCA0RXD|<------------ // // D. Dang // Texas Instruments Inc. // February 2011 // Built with CCS Version 4.2.0 and IAR Embedded Workbench Version: 5.10 //****************************************************************************** #include <msp430.h> int main(void) { WDTCTL = WDTPW + WDTHOLD; // Stop WDT if (CALBC1_1MHZ==0xFF) // If calibration constant erased { while(1); // do not load, trap CPU!! } DCOCTL = 0; // Select lowest DCOx and MODx settings BCSCTL1 = CALBC1_1MHZ; // Set DCO DCOCTL = CALDCO_1MHZ; P1SEL = BIT1 + BIT2 ; // P1.1 = RXD, P1.2=TXD P1SEL2 = BIT1 + BIT2 ; // P1.1 = RXD, P1.2=TXD UCA0CTL1 |= UCSSEL_2; // SMCLK UCA0BR0 = 104; // 1MHz 9600 UCA0BR1 = 0; // 1MHz 9600 UCA0MCTL = UCBRS0; // Modulation UCBRSx = 1 UCA0CTL1 &= ~UCSWRST; // **Initialize USCI state machine** IE2 |= UCA0RXIE; // Enable USCI_A0 RX interrupt __bis_SR_register(LPM0_bits + GIE); // Enter LPM0, interrupts enabled } // Echo back RXed character, confirm TX buffer is ready first #if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__) #pragma vector=USCIAB0RX_VECTOR __interrupt void USCI0RX_ISR(void) #elif defined(__GNUC__) void __attribute__ ((interrupt(USCIAB0RX_VECTOR))) USCI0RX_ISR (void) #else #error Compiler not supported! #endif { while (!(IFG2&UCA0TXIFG)); // USCI_A0 TX buffer ready? UCA0TXBUF = UCA0RXBUF; // TX -> RXed character }
Hello Timothy,
Are you using a MSP-EXP430G2 board? You may need to rotate the UART jumpers on J3 to the horizontal position. This is discussed in section 5.3 of the users guide.
https://www.ti.com/tool/MSP-EXP430G2
If you have the MSP-EXP430G2ET, the jumpers do not need to be rotated.
You can check in device manager for the MSP430 application UART port to select in your terminal window.
Hi Eddie,
I am using the MSP-EXP430G2 board and my UART jumpers are horizontal on J3. I did check and confirm that my board is connected to port 6. As I tried creating the terminal link, CCS continues to lock up.
Thank you,
Timothy
Have you tried with Putty? Once you get that working you can go back to CCS.
I don't see how CCS can "lock up" using the terminal.
Hello Keith,
CCS continues to lock up. I select View à Terminal and set up the terminal for serial communication on COM6 as shown on My Devices
Once I select OK, the terminal window opens. If I click on the blank space or the command prompt and press any letter, CCS locks up.
I downloaded PuTTY and I was unsuccessful in making a connection with my processor. I select COM6 with the same settings shown above and the command prompt doesn’t allow me to type any letters.
Hi Keith,
My pictures did not attach to my post, let me try again:
CCS continues to lock up. I select View à Terminal and set up the terminal for serial communication on COM6 as shown on My Devices
Once I select OK, the terminal window opens. If I click on the blank space or the command prompt and press any letter, CCS locks up.
I downloaded PuTTY and I was unsuccessful in making a connection with my processor. I select COM6 with the same settings shown above and the command prompt doesn’t allow me to type any letters.
Time to get the scope out and see if the issue is on the tx or rx side.
You can also set the LED on the board to toggle for every character received/transmitted.
Thank you Keith. I ended up buying a new development board because the one I originally had was over 10 years old. When using the new board, the software worked as expected first try.