Jump to content

Search the Community

Showing results for tags 'mma8451'.

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 1 result

  1. Hi, I have built an embedded product on a custom pcb that uses an MSP430G2553 communicating with a MMA8451 accellerometer via I2C, and flashing LEDs when certain acceleration events cause interrupts. The system works reasonably well but I want to add some post-interrupt code to verify the direction and intensity of the acceleration to avoid false positives. I can read the value in the relevant TRANSIENT_SRC register (0x1E) on the MMA8451 but the system hangs returning from the ISR. I placed a breakpoint in the closing curly bracket of the ISR, and when I stepped past this breakpoint an Assembler routine called "isr_trap.asm" opens and hangs on line "BIS.W #(0x0010),SR". I see from previous posts that this is a trap for "an interrupt [that] occurs that has no ISR assigned." My register read routine is: char Receive(char registerAddr) { char receivedByte; while (UCB0CTL1 & UCTXSTP); // Ensure stop condition got sent UCB0CTL1 |= UCTR + UCTXSTT; // I2C start condition with UCTR flag for transmit while((IFG2 & UCB0TXIFG) == 0); //UCB0TXIFG is set immediately UCB0TXBUF = registerAddr; //write registerAddr in TX buffer while((IFG2 & UCB0TXIFG) == 0); // wait until TX buffer is empty and transmitted UCB0CTL1 &= ~UCTR ; // Clear I2C TX flag for receive UCB0CTL1 |= UCTXSTT; //+ UCTXNACK; // I2C start condition with NACK for single byte reading while (UCB0CTL1 & UCTXSTT); // Start condition sent? RXBuffer full? UCB0CTL1 |= UCTXSTP; // I2C stop condition //while(UCB0RXIFG != (IFG2 & UCB0RXIFG)); //keep checking for recv ready flag while((IFG2 & UCB0RXIFG) == 0); // wait until TX buffer is empty and transmitted receivedByte = UCB0RXBUF; return receivedByte; } Can anyone see a issue that is likely to cause my problem? Note that the system works perfectly is I do not read TRANSIENT_SRC. Many thanks, Mark.
  • Create New...