Snippets

Brandon Nielsen MSP430F5529 LaunchPad 'Project0.1'

You are viewing an old version of this snippet. View the current version.
Revised by Brandon Nielsen 2d47ce4
#include <msp430.h>
#include <stdbool.h>
#include "delay.h"

int main(void) {
	WDTCTL = WDTPW + WDTHOLD;
	// Stop watchdog timer. This line of code is needed at the beginning of most MSP430 projects.
	// This line of code turns off the watchdog timer, which can reset the device after a certain period of time.
	P1DIR |= 0x01;
	// P1DIR is a register that configures the direction (DIR) of a port pin as an output or an input.
	// To set a specific pin as output or input, we write a '1' or '0' on the appropriate bit of the register.
	// P1DIR = <PIN7><PIN6><PIN5><PIN4><PIN3><PIN2><PIN1><PIN0>
	// Since we want to blink the on-board red LED, we want to set the direction of Port 1, Pin 0 (P1.0) as an output
	// We do that by writing a 1 on the PIN0 bit of the P1DIR register
	// P1DIR = <PIN7><PIN6><PIN5><PIN4><PIN3><PIN2><PIN1><PIN0>
	// P1DIR = 0000 0001
	// P1DIR = 0x01 <--this is the hexadecimal conversion of 0000 0001

	while(true)
	// Conditional is always true, so we loop forever
	{
		P1OUT ^= 0x01;
		// Toggle P1.0 using exclusive-OR operation (^=)
		// P1OUT is another register which holds the status of the LED.
		// '1' specifies that it's ON or HIGH, while '0' specifies that it's OFF or LOW
		// Since our LED is tied to P1.0, we will toggle the 0 bit of the P1OUT register
		delay(20000);
	}

	return 0;
}
HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.