MSP430 C Code Examples from Class
MSP430 Assembly Code Examples from Class
Addressing Modes Demo from Class
#include <msp430.h>
/*
* Copy this program, debug it, view the disassembly, and note how the addressing modes work.
* main.c
*/
int dog = 2;
int cat;
char table[4] = {119,120,121,122}; // 'w','x','y','z' is 119(0x77),120 (0x78), 121 (0x79), 122(0x7A) in ascii
char* cow;
int main(void) {
WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer
cat = dog;
cat = table[dog];
cow = table;
cat = *cow++;
cat = *cow;
return 0;
}
Recursion Example (Fibonacci Numbers)
#include <msp430.h>
int Fibonacci(int);
/*
* main.c
*/
int main(void) {
WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer
int n, i = 0, c, F[10];
n=4;
for ( c = 1 ; c <= n ; c++ )
{
F[i] = Fibonacci(i);
i++;
}
return 0;
}
int Fibonacci(int n)
{
if ( n == 0 )
return 0;
else if ( n == 1 )
return 1;
else
return ( Fibonacci(n-1) + Fibonacci(n-2) );
}