Subversion Repositories Code-Repo

Rev

Rev 250 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
250 Kevin 1
#include <msp430.h> 
2
 
3
int main(void) {
4
    WDTCTL = WDTPW | WDTHOLD;	// Stop watchdog timer
5
 
6
    /* --- Set Oscillator Settings ---------------------- */
7
	BCSCTL1 = XT2OFF;           // Turn off XT2 oscillator, ACLK = low freq mode/1
8
	BCSCTL1 = CALBC1_16MHZ;      // Set DCO to callibrated 16Mhz
9
	DCOCTL  = CALDCO_16MHZ;      // Set DCO to callibrated 16Mhz
10
	BCSCTL2 = SELM_0 | DIVM_0 | DIVS_3; // MCLK = DCO/1, SMCLK = MCLK/8
11
	BCSCTL3 = LFXT1S_0 | XCAP_2;        // LFXT1 = 32.768khz, 10pF termination
12
	IE1 &= ~OFIE;               // Disable oscillator fault interrupt
13
	/* -------------------------------------------------- */
14
 
15
//	/* --- Set Timer Settings --------------------------- */
16
//	// Timer A clock source = ACLK/1, continuous mode, interrupt enabled
17
//	TA0CTL = TASSEL_1 | ID_0 | MC_2 | TACLR | TAIE;
18
//	TACCTL0 = CCIE;     // Enable timer A comparator 0 interrupt
19
//	TACCR0  = 32768;    // Set initial comparator value
20
//	/* -------------------------------------------------- */
21
 
22
	UCB0CTL0 = UCMSB+UCMST+UCMODE_0;		// 3-pin, 8-bit SPI master
23
	UCB0CTL1 = UCSSEL_2+UCSWRST;				// SMCLK
24
	UCB0BR0 = 2;								// UCLK/2
25
	UCB0BR1 = 0;
26
	//UCB0MCTL = 0;
27
	P1SEL |= BIT5 + BIT6 + BIT7;
28
	P1SEL2 |= BIT5 + BIT6 + BIT7;
29
	P1OUT |= BIT5 + BIT6 + BIT7;
30
	P1DIR |= BIT5 + BIT7;
31
	P1DIR &= ~BIT6;
32
	UCB0CTL1 &= ~UCSWRST;						// **Initialize USCI state machine**
33
 
34
//	/* --- Set Port Settings ---------------------------- */
35
//	// Set port direction to output
36
//	P1DIR = BIT0 | BIT6;
37
//	// Set initial port values
38
//	P1OUT = ~(BIT0 | BIT6);
39
//	/* -------------------------------------------------- */
40
 
41
	// Go into low power mode with interrupts enabled
42
//	_BIS_SR(LPM1_bits + GIE);
43
 
44
	unsigned char c = 0;
45
	while (UC0IFG & UCB0TXIFG == 0); // wait while not ready for TX
46
	UCB0TXBUF = 0xAB; // write
47
	while (UC0IFG & UCB0RXIFG == 0); // wait for RX buffer (full)
48
	c = UCB0RXBUF;
49
 
50
	while(1);
51
}
52
 
53
//#pragma vector=TIMER0_A0_VECTOR
54
//__interrupt void Timer0_A0(void) {
55
//	// This vector gets called on timer A comparator 0 interrupt
56
//	P1OUT ^= BIT0;      // Toggle LED
57
//	TACCR0 += 32768;    // Add offset to CCR0
58
//	TACCTL0 &= ~CCIFG;  // Reset the interrupt flag
59
//}
60
 
61
//#pragma vector=TIMER0_A1_VECTOR
62
//__interrupt void Timer0_A1(void) {
63
//	// This vector gets called on timer A overflow and comparators 1 and 2
64
//	P1OUT ^= BIT6;      // Toggle LED
65
//	TACTL &= ~TAIFG;    // Reset the interrupt flag
66
//}