SLAU533D September   2013  – April 2017

 

  1.   MSP430F5529 LaunchPad™ Development Kit (MSP‑EXP430F5529LP)
    1.     Trademarks
    2. 1 Getting Started
      1. 1.1 Key Features
      2. 1.2 Kit Contents
      3. 1.3 Out-of-Box Experience
        1. 1.3.1 Step 1: Install a Software Development Platform
        2. 1.3.2 Step 2: Connect the Hardware
        3. 1.3.3 Step 3: Verify the storage volume has been loaded
        4. 1.3.4 Step 4: Open a text editor, and press the buttons
        5. 1.3.5 Step 5: Customize the strings
    3. 2 Hardware
      1. 2.1 Block Diagram
      2. 2.2 Hardware Features
        1. 2.2.1 MSP430F5529
        2. 2.2.2 eZ-FET lite Onboard Emulator
        3. 2.2.3 Integrated Full-Speed USB Hub
        4. 2.2.4 Power
        5. 2.2.5 Clocking
        6. 2.2.6 Application (or "Backchannel") UART
        7. 2.2.7 Emulator and Target Isolation Jumper Block
        8. 2.2.8 Isolation Jumper Block: 3.3-V and 5-V Jumpers
        9. 2.2.9 Isolation Jumper Block: Emulator Connection and Application UART
      3. 2.3 Measure Current Draw of MSP430 MCU
      4. 2.4 Using an External Power Source
        1. 2.4.1 External 3.3-V Power Source
        2. 2.4.2 External 5-V Power Source Without USB Connection
        3. 2.4.3 External 5-V Power Source With USB Connection
      5. 2.5 Using the eZ-FET lite Emulator With a Different Target
      6. 2.6 USB BSL Button
      7. 2.7 BoosterPack Plug-in Module Pinout
      8. 2.8 Design Files
      9. 2.9 Hardware Change Log
    4. 3 Software Examples
      1. 3.1 MSP430 Software Libraries: driverlib and the USB API
      2. 3.2 Viewing the Code
        1. 3.2.1 CCS
        2. 3.2.2 IAR
      3. 3.3 Example Project Software Organization
      4. 3.4 USB Configuration Files
      5. 3.5 Out-of-Box Experience: emulStorageKeyboard
        1. 3.5.1  Flowchart
        2. 3.5.2  Pre-Initialization
        3. 3.5.3  Initialization
          1. 3.5.3.1 Configuring the Keyboard
          2. 3.5.3.2 Configuring the MSC Interface
        4. 3.5.4  Handling SCSI Commands
        5. 3.5.5  LPM0 Entry
        6. 3.5.6  LPM0 Exit
        7. 3.5.7  Emulated Storage Volume
        8. 3.5.8  Sending Data as a USB Keyboard
        9. 3.5.9  Properly Handling USB Unplug Events
        10. 3.5.10 Non-Maskable Interrupt (NMI) Vector
      6. 3.6 Example: simpleUsbBackchannel
        1. 3.6.1 What It Does
        2. 3.6.2 Installing the CDC Interface
        3. 3.6.3 Operating the Example
        4. 3.6.4 Backchannel UART Library: bcUart.c, bcUart.h
        5. 3.6.5 Code Description: Initialization
          1. 3.6.5.1 Stopping the Watchdog
          2. 3.6.5.2 Configuring VCORE
          3. 3.6.5.3 Configuring Clocks
          4. 3.6.5.4 Configuring Ports
          5. 3.6.5.5 Initializing the Backchannel UART
          6. 3.6.5.6 Configuring USB
        6. 3.6.6 Code Description: Main Loop
        7. 3.6.7 Modifying to Use an HID-Datapipe Interface
      7. 3.7 Starting Device Manager
    5. 4 Additional Resources
      1. 4.1 LaunchPad Development Kit Websites
      2. 4.2 Information on the MSP430F5529
      3. 4.3 Download CCS, IAR, mspgcc, or Energia
      4. 4.4 USB Developers Package
      5. 4.5 MSP430Ware and TI Resource Explorer
      6. 4.6 F5529 Code Examples
      7. 4.7 MSP430 Application Notes
      8. 4.8 TI E2E Community
      9. 4.9 Community at Large
    6. 5 FAQs
    7. 6 Schematics
  2.   Revision History

Backchannel UART Library: bcUart.c, bcUart.h

This example includes a simple library for the backchannel UART, which can be copied into any project to use the backchannel. It can also be modified as needed. Copy bcUart.c and bcUart.h into the target project, and include the bcUart.h file from any files that access it.

The library is preconfigured to use SMCLK as the clock source, and for the speed of SMCLK to be 8 MHz. The baudrate is preconfigured for 28.8 kbps with no hardware flow control.

SMCLK is generally a good choice for the backchannel UART in a given application, but the clock speeds may change. Instructions for this are located in bcUart.h.

On the F5529 LaunchPad development kit, the backchannel UART is implemented with the USCI_A1 module. The RTS and CTS flow control signals are implemented on the P6.7 and P1.7 I/O pins, respectively. All of these locations are hardwired on the F5529 LaunchPad development kit and are independent from the 40-pin BoosterPack plug-in module header.

Table 7 shows some constants in bcUart.h that define the library behavior.

Table 7. Backchannel Library: Constants to Configure

Constant Description
UCA1_OS
UCA1_BR0
UCA1_BR1
UCA1_BRS
UCA1_BRF
Set the baudrate. Must be adjusted if SMCLK speed or baudrate are configured to anything other than 8 MHz and 28.8 kbps, respectively. See bcUart.h for instructions.
BC_USE_HW_FLOW_CONTROL If hardware flow control is desired, un-comment this #define
BC_RXBUF_SIZE Set the size of the buffer that receives data over the backchannel UART.
BC_RX_WAKE_THRESH When this number of bytes have been received into the receive buffer, the bcUartRxThresholdReached flag is set to TRUE, and the main application is awakened from any LPM it might be in.

Table 8 shows the library function calls.

Table 8. Backchannel Library: Functions

Function Description
void bcUartInit(void) Call once during program initialization
void bcUartSend(uint8_t * buf, uint8_t len) Send len bytes stored at buf over the UART.
uint16_t bcUartReceiveBytesInBuffer(uint8_t* buf) Copy any bytes received into the library UART receive buffer into buf and return the number of bytes copied.
USCI_A1 Interrupt Vector The library includes a definition of the USCI_A1 ISR, which copies incoming UART bytes into a receive buffer.

If the application uses the USCI_A1 ISR for another purpose in addition to the backchannel, it is necessary to merge that operation with the backchannel library ISR.