MSP430: Difference between revisions

From base48
imported>Evilissimo
(Some code for MSP430 Launchpad which has been verified that it works)
 
imported>Evilissimo
Line 1: Line 1:
== MSP430G2 Launchpad ==
== MSP430G2 Launchpad ==
=== Some links ===
==== Tutorials ====
* http://mspsci.blogspot.cz/2010/07/tutorial-01-getting-started.html
==== SPI Interface (USCI) ====
* http://fortytwoandnow.blogspot.ch/2012/07/msp430g2-usci-spi-interface-1.html
==== Code Examples ====
* http://svn.noccy.com/mspdev/reference/MSP430ware/examples/devices/2xx/MSP430G2xx3%20Code%20Examples/C/
=== Code Examples ===
=== Code Examples ===
==== Timer and Button Interrupts ====
==== Timer and Button Interrupts ====

Revision as of 16:24, 6 October 2012

MSP430G2 Launchpad

Some links

Tutorials

SPI Interface (USCI)

Code Examples

Code Examples

Timer and Button Interrupts

Blinking LED swaps on Button click. Implemented using interrupts

#include <msp430g2553.h>

__attribute__((interrupt(TIMER0_A0_VECTOR)))
void CCR0_ISR(void) {
    P1OUT ^= BIT6 | BIT0;
}

__attribute__((interrupt(PORT1_VECTOR)))
void BtnClick(void) {
    if( P1IFG & BIT3 ) {
        P1IFG &= ~BIT3;

        P1DIR ^= BIT6|BIT0;
    }
}

main()
{
    WDTCTL = WDTPW + WDTHOLD;

    TACCR0 = 62500 - 1;
    TACCTL0 = CCIE;
    TACTL = TASSEL_2 + ID_3 + MC_1 + TACLR;
    P1REN = BIT3;
    P1DIR = BIT6;
    P1OUT = BIT6|BIT3;
    P1IES |= BIT3;
    P1IFG &= ~BIT3;
    P1IE |= BIT3;

    __enable_interrupt();

    for(;;);
}