MSP430 C Code Examples from Class: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
| Line 34: | Line 34: | ||
*/ | */ | ||
int main(void) { | int main(void) { | ||
WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer | |||
int n, i = 0, c, F[10]; | int n, i = 0, c, F[10]; | ||
Revision as of 12:09, 11 November 2015
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) );
}