Hello all,
I have been working on CC2530EM and SimpliciTI protocol for quite a some time. I am well acquainted with the protocol stack and it's working.
I now wish to develop an application for EZ430-RF2500 platform, as one of my client wished me to port the same application which was working well on CC2530EM to EZ430. The application contains the usual SimpliciTI APIs and APIs for UART operations. I was using the SimpliciTI compatible UART driver (DN117) for whatever UART operations required.
The problem is -
Everything worked great with the UART driver on CC2530. However, when I tried to develop the application for EZ430-RF2500, the UART driver doesn't seem to work.
I tried to send some hardcoded characters from an EZ430 module connected to the PC via USB port. In the application I am sending a string on the UART port periodically and for the debugging purpose blinking the LEDs present on the module. However, nothing is visible on the terminal.
I also tried the same code with CC2530EM, and it looks like the application doesn't contain any bug. I still wish to share the applications, as I don't have any experience working on MSP430 processors, so any tips will be really helpful.
#include "bsp.h" #include "mrfi.h" #include "nwk_types.h" #include "nwk_api.h" #include "bsp_leds.h" #include "bsp_buttons.h" #include "nwk_pll.h" #ifdef MRFI_CC430 #include "uart_intfc_cc430.h" #else #include "uart_intfc.h" #endif /* application Rx frame handler. */ static uint8_t sRxCallback(linkID_t); /* led toggle helper function */ void toggleLED(uint8_t which); #define SPIN_ABOUT_A_SECOND() NWK_DELAY(1000) void main (void) { BSP_Init(); SMPL_Init(sRxCallback); uart_intfc_init(); /* turn on LEDs. */ if (!BSP_LED2_IS_ON()) { toggleLED(2); } if (!BSP_LED1_IS_ON()) { toggleLED(1); } while (1) { tx_send ("Hello world", sizeof("Hello world")); toggleLED(1); toggleLED(2); SPIN_ABOUT_A_SECOND(); } } void toggleLED(uint8_t which) { if (1 == which) { BSP_TOGGLE_LED1(); } else if (2 == which) { BSP_TOGGLE_LED2(); } return; } /* handle received frames. */ static uint8_t sRxCallback(linkID_t port) { /* keep frame for later handling. */ return 0; }
Questions -
1. Is the SImpliciTI compatible UART driver (DN117) compatible with the EZ430 platform?
2. If yes, what is the bug in the above program?
3. If no, can it be modified to make it compatible with EZ430 platform?
4. If no, Is there any other option by which I can achieve some basic UART operations such as sending a string, receiving a string, on EZ430?
Any help will be greatly appreciated. Thank you in advance.