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 11: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) ); }