I'm very new to MSP430F5529 launchpad. I want to communicate between 2 devices and computer (hyperterminal). but right now I'm trying to communicate between 2 uart by using simpleUsbBackChannel which is available in slac623.zip and code is
// Basic MSP430 and driverLib #includes #include "msp430.h" #include "driverlib/MSP430F5xx_6xx/wdt_a.h" #include "driverlib/MSP430F5xx_6xx/ucs.h" #include "driverlib/MSP430F5xx_6xx/pmm.h" #include "driverlib/MSP430F5xx_6xx/sfr.h" // USB API #includes #include "USB_config/descriptors.h" #include "USB_API/USB_Common/device.h" #include "USB_API/USB_Common/types.h" #include "USB_API/USB_Common/usb.h" #include "USB_app/usbConstructs.h" // Application #includes #include "BCUart.h" // Include the backchannel UART "library" #include "hal.h" // Modify hal.h to select your hardware /* You have a choice between implementing this as a CDC USB device, or a HID- * Datapipe device. With CDC, the USB device presents a COM port on the host; * you interact with it with a terminal application, like Hyperterminal or * Docklight. With HID-Datapipe, you interact with it using the Java HID Demo * App available within the MSP430 USB Developers Package. * * By default, this app uses CDC. The HID calls are included, but commented * out. * * See the F5529 LaunchPad User's Guide for simple instructions to convert * this demo to HID-Datapipe. For deeper information on CDC and HID-Datapipe, * see the USB API Programmer's Guide in the USB Developers Package. */ // Global variables WORD rxByteCount; // Momentarily stores the number of bytes received BYTE buf_bcuartToUsb[BC_RXBUF_SIZE]; // Same size as the UART's rcv buffer BYTE buf_usbToBcuart[128]; // This can be any size void main(void) { WDTCTL = WDTPW + WDTHOLD; // Halt the dog // MSP430 USB requires a Vcore setting of at least 2. 2 is high enough // for 8MHz MCLK, below. PMM_setVCore(PMM_BASE, PMM_CORE_LEVEL_2); initPorts(); // Config all the GPIOS for low-power (output low) initClocks(8000000); // Config clocks. MCLK=SMCLK=FLL=8MHz; ACLK=REFO=32kHz bcUartInit(); // Init the back-channel UART USB_setup(TRUE,TRUE); // Init USB; if a USB host (PC) is present, connect __enable_interrupt(); // Enable interrupts globally while(1) { // Look for rcv'ed bytes on the backchannel UART. If any, send over USB. rxByteCount = bcUartReceiveBytesInBuffer(buf_bcuartToUsb); if(rxByteCount) { cdcSendDataInBackground(buf_bcuartToUsb, rxByteCount, CDC0_INTFNUM, 1000); //hidSendDataInBackground(buf_bcuartToUsb, rxByteCount, HID0_INTFNUM, 1000); } // Look for received bytes over USB. If any, send over backchannel UART. rxByteCount = cdcReceiveDataInBuffer(buf_usbToBcuart, sizeof(buf_usbToBcuart), CDC0_INTFNUM); //rxByteCount = hidReceiveDataInBuffer(buf_usbToBcuart, sizeof(buf_usbToBcuart), HID0_INTFNUM); if(rxByteCount) { bcUartSend(buf_usbToBcuart, rxByteCount); } } }
this code is also working good. I'm doing this for the first time and I'm getting error in F5529LP SimpleUSBBackChannel driver update as shown in fig above. I'm updating it as per User guide i.e. updating it with "SimpleUSBBackChannel .INF" file. but it showing me an error
I'm not getting how to get over it. but my Final aim is just to have uart communication between 2 devices and computer, so other Ideas are also most welcome