Jump to content

Search the Community

Showing results for tags 'msp430fr5739'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • News
    • Announcements
    • Suggestions
    • New users say Hi!
  • Spotlight!
    • Sponsor Spotlight
    • Sponsor Giveaways
  • Energia
    • Energia - MSP
    • Energia - TivaC/CC3XXX
    • Energia - C2000
    • Energia Libraries
  • MSP Technical Forums
    • General
    • Compilers and IDEs
    • Development Kits
    • Programmers and Debuggers
    • Code vault
    • Projects
    • Booster Packs
    • Energia
  • Tiva-C, Hercules, CCXXXX ARM Technical Forums
    • General
    • SensorTag
    • Tiva-C, Hercules, CC3XXX Launchpad Booster Packs
    • Code Vault
    • Projects
    • Compilers and IDEs
    • Development Kits and Custom Boards
  • Beagle ARM Cortex A8 Technical Forums
    • General
    • Code Snippets and Scripts
    • Cases, Capes and Plugin Boards
    • Projects
  • General Electronics Forum
    • General Electronics
    • Other Microcontrollers
  • Connect
    • Embedded Systems/Test Equipment Deals
    • Buy, Trade and Sell
    • The 43oh Store
    • Community Projects
    • Fireside Chat
  • C2000 Technical Forums
    • General
    • Development Kits
    • Code Vault
    • Projects
    • BoosterPacks


There are no results to display.

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start



Website URL





Found 13 results

  1. Hi, I am trying to modify some of the core Energia files (main.c) so that I can initialize GPIO pins to LOW right away before Energia goes through its startup sequence. I have an LED driver connected to the MSP430FR5739 experimenter board (v1.1). The issue is, during the startup sequence (before my setup() code is running) the control pin from the experimenter board to the LED driver is active high for a few seconds thus turning the LED to full brightness. I would like to avoid using an external resistor if possible. My question is: 1. Is there a better way to initialize GPIO pins in Energia before the startup sequence? 2. I tried modifying main.cpp (under xxx\energia-1.6.10E18\hardware\energia\msp430\cores\msp430), but the changes didn't seem to reflect when I compiled my code with Energia. I even tried putting erroneous statements intentionally to see if this cause the compilation to fail, but it didn't do anything. Is this the correct file? Or does this version of Energia not allow modifications to core files? Thank you! Hardware: MSP430FR5739 Experimenter board v1.1 Energia Version: 1.6.10E18 OS: WIndows 7
  2. Hi, I want to use Energia to program my MSP430FR5739. I have used the 34 pin variant which has two pins that are not on the dev board - P2.3 and P2.4. I am using these as analogue inputs. I found another post which indicated that I could edit the pins_energia.h file with the following lines static const uint8_t P2_3 = 31; static const uint8_t A12 = 31; Which should, on the face of it, get P2.3 working, but no success... Any help would be appreciated!
  3. Has anyone experienced issues with the msp430FR5739 experimenter board with the latest energia v 18? I can't seem to program it using the latest version on my windows 10, 7 or mac. I get the following error message: usbutil: unable to find a device matching 0451:f432 An error occurred while uploading the sketch Thanks!
  4. Well Hi! I'm reasonably new to the MSP430 stuff, been working with Arduino's and started some Embedded systems unit at University that has really sparked an interest in this stuff. I've been working mainly in Energia but trying my best to explore whats under some of the abstraction. Currently exploring CCS environment. Looking forward to sucking up some of this communities knowledge and hopefully providing some of my own as well
  5. I'd like to write to FRAM on a MSP430FR5739 with Energia, Does anyone has an example? Thank you, Stephane
  6. Hey all, just wanted to share some code and a sweet picture of a QR code that was generated on an msp430fr5739: I'm working on a larger project that needed this functionality so I thought a proof of concept before I got too far into this was in order. While the pixels on the LCD I'm using (Nokia 5110 / PCD8544) aren't quite square, this code scans fine on my phone (Nexus 4). Anyways it uses the qrduino library to generate the code and some pcd8544 library for the lcd display. I briefly attempted to get this running on a g2553 but didn't quite manage it. The code is at https://github.com/xorrbit/qr430, so fork and add g2553 support if you want! Cheers, -Andrew
  7. I recently bought a Fram board and a CC3000 for a small project. I have Code Composer already but wanted to try somthing new and ran across Energia. So I installed it and fired it up. I selected CC3000FirwareUpdate project to get started. Selected the FraunchPad w/ msp430fr5739 board in the Tools menu. Then I hit the Verify button... "Error compiling." c:/energia-0101e0011/hardware/tools/msp430/bin/../lib/gcc/msp430/4.6.3/../../../../msp430/bin/ld.exe: CC3000FirwareUpdate.cpp.elf section `.rodata' will not fit in region `rom' Regards Ken
  8. Hi, I was trying to run simple web client code example in energia (MSP-EXP430FR5739 + CC3000). In the code, we have to set communication pins for CC3000 (CS, EN and IRQ pins). From the wiki page (http://processors.wi...-Fi_MSP430_FRAM), pins on FRAM associated with these functions through RF connector are pin 1.3, 4.1 and 2.3. So I tried to find out the pin numbers to use in the code for these pins. But in the default pin mapping for fraunchpad, pin2.3 is not defined (The pins defined in pin mapping seem to be correct). Is there a pin mapping specifically for MSP-EXP430FR5739 which would have pin 2.3. Or else could you point me to the tutorial for creating your own pin mapping? Thank you.
  9. I recently bought a Fram board and a CC3000 for a small project. I have Code Composer already but wanted to try somthing new and ran across Energia. So I installed it and fired it up. I selected CC3000FirwareUpdate project to get started. Selected the FraunchPad w/ msp430fr5739 board in the Tools menu. Then I hit the Verify button... "Error compiling." See attached file. Regards Ken Error Compiling.txt
  10. Hi all! I recently worked upon a weather station project where we were required to display the data on a website. I finally decided to create a web UI for MSP430FR5739 launchpad as well. The web UI is created using Node.js for the server end. The graphs update at every 100ms period. For testing online, i have used localtunnel which allowed me to convert the intranet to internet. The UI receives the data from a MSP430FR5739 launchpad and the data is then displayed on the website. Also, you can transmit data from UI to the launchpad as well. Youtube demonstration video: The detailed instructions and the source files are there on my github repository: https://github.com/jaspreetsingh009/webui_msp430
  11. I finally did a breakout for the msp430 chips that use the tssop-38 pin layout. I made it generic so it can be used with various chips. The layout makes no assumption about power or the SBW pins. There are a couple of vias that could be used for a LFXTAL or decoupling caps. Just drag a wirewrap gauge wire to the right pin. Find a rendered image and brd file here: http://oshpark.com/shared_projects/Yk6KHu43 -rick
  12. hi all i have msp-exp430fr5739 kit and i learning i want an example code of module on kit Vietnam and I was struggling to learn the language line mcu.
  13. As of now I am getting a result, but I don't think I'm getting the right result. My pressure result is at 236055 in a lab room. I wondering if someone can check out my code to see if I'm doing something wrong. The following is the datasheet of the bmp085: http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Sensors/Pressure/BST-BMP085-DS000-06.pdf #include <msp430.h> //unsigned char TXData[]= {0x07,0xB1,0xA1};// Pointer to TX data //unsigned char TXData[]= {0x00};// Pointer to TX data //unsigned char SlaveAddress[]= {0x5A,0x27,0x77}; //temp, humidty, pressure unsigned char SlaveAddress[]= {0x77}; unsigned char TXByteCtr; unsigned char RXByteCtr; unsigned char *PTxData; unsigned char *PRxData; unsigned char SlaveFlag = 0; volatile unsigned char RXData[3]; float fahrenheit; //calibration data int AC1; int AC2; int AC3; unsigned int AC4; unsigned int AC5; unsigned int AC6; int B1; int B2; int MB; int MC; int MD; //calculate true temperature long UT; long X1; long X2; long B5; long T; //calculate true pressure long UP; long B6; long X3; long B3; unsigned long B4; unsigned long B7; long P; float bmp085_T=0; float bmp085_P=0; long B6Temp; long X1Temp; void bmp085_cal(void); unsigned int bmp085_UT(void); unsigned long bmp085_UP(void); void bmp085_results(void); int read_sentdata(unsigned char msb, int TX_byte, int RX_byte); void iic_TX(void); void iic_RX(void); void start_TX(void); void start_RX(void); unsigned char UTTxData[] = {0xF4, 0x2E}; unsigned char UPTxData[] = {0xF4, 0x34}; int main(void) { WDTCTL = WDTPW + WDTHOLD; // stop watchdog // Init SMCLK = MCLk = ACLK = 1MHz CSCTL0_H = 0xA5; CSCTL1 |= DCOFSEL0 + DCOFSEL1; // Set max. DCO setting = 8MHz CSCTL2 = SELA_3 + SELS_3 + SELM_3; // set ACLK = SCLK = MCLK = DCO CSCTL3 = DIVA_3 + DIVS_3 + DIVM_3; // set all dividers to 1MHz (clk/8) // Configure Pins for I2C P1SEL1 |= BIT6 + BIT7; // Pin init UCB0CTLW0 |= UCSWRST; // put eUSCI_B in reset state UCB0CTLW0 |= UCMODE_3 + UCMST + UCSSEL_2 + UCSYNC;// I2C mode, master mode, SMCLk UCB0CTLW1 |= UCASTP_2; //automatic stop generated //after UCB0TBCNT is reached UCB0BRW = 0x20; // UCB0TBCNT |= 0x0007; UCB0CTLW0 &=~ UCSWRST; //clear reset register UCB0IE |= UCTXIE0; //transmit interrupt enable UCB0IE |= UCNACKIE; //NACK interrupt enable UCB0IE |= UCRXIE0; //received interrupt enable UCB0IE |= UCBCNTIE; //byte_counter interrupt enable _BIS_SR(GIE); PJDIR |= BIT0; PJDIR |= BIT1; PJDIR |= BIT2; PJDIR |= BIT3; bmp085_cal(); SlaveFlag =0; while(1) { UCB0I2CSA = SlaveAddress[SlaveFlag]; // configure slave address UT=bmp085_UT(); UP=bmp085_UP(); bmp085_results(); __no_operation(); PJOUT ^= BIT0; __delay_cycles(1000); } } #pragma vector = USCI_B0_VECTOR __interrupt void USCIB0_ISR(void) { switch(__even_in_range(UCB0IV,0x1E)) { case 0x00: break; // Vector 0: No interrupts break; case 0x02: break; case 0x04: UCB0CTLW0 |= UCTXSTT; //resend start if NACK break; // Vector 4: NACKIFG break; case 0x06: break; // Vector 6: STTIFG break; case 0x08: break; // Vector 8: STPIFG break; case 0x0a: break; // Vector 10: RXIFG3 break; case 0x0c: break; // Vector 14: TXIFG3 break; case 0x0e: break; // Vector 16: RXIFG2 break; case 0x10: break; // Vector 18: TXIFG2 break; case 0x12: break; // Vector 20: RXIFG1 break; case 0x14: break; // Vector 22: TXIFG1 break; case 0x16: // Vector 24: RXIFG0 break; *PRxData++ = UCB0RXBUF; // Get RX data RXByteCtr --; PJOUT ^= BIT2; if (RXByteCtr == 0) { __delay_cycles(30); UCB0CTLW1 |= UCSWACK; UCB0CTLW0 |= UCTXACK; UCB0CTLW0 |= UCTXSTP; } else { UCB0IFG &= ~UCRXIFG0; __bic_SR_register_on_exit(CPUOFF); } break; case 0x18: if (TXByteCtr) // Check TX byte counter { UCB0TXBUF = *PTxData++; // Load TX buffer PJOUT ^= BIT1; TXByteCtr--; } else { UCB0CTLW0 |= UCTXSTP; // I2C stop condition UCB0IFG &= ~UCTXIFG; // Clear USCI_B0 TX int flag __bic_SR_register_on_exit(CPUOFF);// Exit LPM0 } break; // Vector 26: TXIFG0 break; case 0x1A: PJOUT ^= BIT3; UCB0IFG &= ~UCBCNTIFG; break; // Vector 28: BCNTIFG break; case 0x1c: break; // Vector 30: clock low timeout break; case 0x1e: break; // Vector 32: 9th bit break; default: break; } } void bmp085_cal(void) { AC1 = read_sentdata(0xAA, 1, 2); __delay_cycles(1000); AC2 = read_sentdata(0xAC, 1, 2); __delay_cycles(1000); AC3 = read_sentdata(0xAE, 1, 2); __delay_cycles(1000); AC4 = read_sentdata(0xB0, 1, 2); __delay_cycles(1000); AC5 = read_sentdata(0xB2, 1, 2); __delay_cycles(1000); AC6 = read_sentdata(0xB4, 1, 2); __delay_cycles(1000); B1 = read_sentdata(0xB6, 1, 2); __delay_cycles(1000); B2 = read_sentdata(0xB8, 1, 2); __delay_cycles(1000); MC = read_sentdata(0xBA, 1, 2); __delay_cycles(1000); MC = read_sentdata(0xBC, 1, 2); __delay_cycles(1000); MD = read_sentdata(0xBE, 1, 2); __delay_cycles(1000); } unsigned int bmp085_UT(void) { iic_TX(); __delay_cycles(1000); PTxData = (unsigned char *)UTTxData; // send control reg and temp reg TXByteCtr = 2; // Load TX byte counter start_TX(); PRxData = (unsigned char *)RXData; __delay_cycles(200000); return (read_sentdata(0xF6, 1, 2)); } unsigned long bmp085_UP(void) { iic_TX(); __delay_cycles(1000); PTxData = (unsigned char *)UPTxData; TXByteCtr = 2; // Load TX byte counter start_TX(); __delay_cycles(200000); PTxData = (unsigned char *)0xF6; // send msb read register TXByteCtr = 1; start_TX(); iic_RX(); __delay_cycles(200000); PRxData = (unsigned char *)RXData; // rx buffer RXByteCtr = 3; // number of bytes to receive start_RX(); return ( (( (long)RXData[0] << 16) | ( (long)RXData[1] << 8) | (long)RXData[2]) >> 8); } void bmp085_results() { // calc true temp X1 = ((long)UT-AC6)*AC5 >> 15; X2 = ((long)MC << 11) / (X1 + MD); B5 = X1 + X2; bmp085_T = (B5 + 8) >> 4; bmp085_T = bmp085_T /10; fahrenheit=((1.8)*bmp085_T)+32; // calc true pressure B6 = B5 - 4000; X1 = (B2 * (B6 * B6) >> 12) >> 11; X2 = (AC2 * B6) >> 11; X3 = X1 + X2; B3 = ((long)AC1 * 4 + X3 + 2) >> 2; //oss=0 X1 = AC3 * B6 >> 13; X2 = (B1 * ((B6 * B6) >> 12)) >> 16; X3 = ((X1 + X2) + 2) >> 2; B4 = (AC4 * (unsigned long)(X3 + 32768)) >> 15; B7 = ((unsigned long)UP - B3) * 50000; if (B7 < 0x80000000) {P = (B7 * 2) / B4;} else {P = (B7 / B4) *2;} X1 = (P >> 8) * (P >> 8); X1 = (X1 * 3038) >> 16; X2 = (-7357 * P) >> 16; bmp085_P = P + ((X1 + X2 + 3791) >> 4); __delay_cycles(500000); } int read_sentdata(unsigned char msb, int TX_byte, int RX_byte) { iic_TX(); PTxData = (unsigned char *)&msb; // TX array start address TXByteCtr = TX_byte; // Load TX byte counter start_TX(); iic_RX(); PRxData = (unsigned char *)RXData; // rx buffer RXByteCtr = RX_byte; // number of bytes to receive start_RX(); return ((int)RXData[0] << 8) | (int)RXData[1]; } void iic_TX(void) { UCB0I2CSA = SlaveAddress[SlaveFlag]; UCB0IE |= UCTXIE0; // Enable TX interrupt } void iic_RX(void) { UCB0IE |= UCRXIE0; // enable RX interrupt } void start_TX(void) { while (UCB0CTLW0 & UCTXSTP); // Ensure stop condition got sent UCB0CTLW0 |= UCTR + UCTXSTT; // I2C TX, start condition __bis_SR_register(CPUOFF + GIE); // Enter LPM0 w/ interrupts } void start_RX(void) { while (UCB0CTLW0 & UCTXSTP); // Ensure stop condition got sent { UCB0CTLW0 &= ~UCTR; UCB0CTLW0 |= UCTXSTT; // I2C TX, start condition } __bis_SR_register(CPUOFF + GIE); }
  • Create New...