Dec 312013
 

 

Example
LaunchScope (A LaunchPad Oscilloscope)
http://www.msp430launchpad.com/2010/12/njcs-launchscope-launchpad-oscilloscope.html
Example
A Simple ADC Example on the LaunchPad
http://www.msp430launchpad.com/2010/09/simple-adc-example-on-launchpad.html
Example
Using Buttons and Creating a New Project
NJC
http://www.msp430launchpad.com/2010/07/using-buttons-and-creating-new-project.html
Example
Using the USI as a UART
http://www.msp430launchpad.com/2010/08/using-usi-as-uart.html
Example
use of Timers and the generation of PWM
NJC
http://www.msp430launchpad.com/2010/07/timers-and-clocks-and-pwm-oh-my.html
Example
Half Duplex Software UART on the
LaunchPad
http://www.msp430launchpad.com/2010/08/half-duplex-software-uart-on-launchpad.html
Example
Launchpad spectrum analyzer coffee table
http://hackaday.com/page/3/?s=launchpad
Example
TI Launchpad adds computer control to a
robot arm
http://hackaday.com/2011/11/21/ti-launchpad-adds-computer-control-to-a-robot-arm/
Example
Prototyping a Bluetooth to IR remote control
translator
http://hackaday.com/2011/09/29/prototyping-a-bluetooth-to-ir-remote-control-translator/
Example
ANT+ networks using an MSP430 chip and
Android phone
http://hackaday.com/2011/11/28/ant-networks-using-an-msp430-chip-and-android-phone/
Example
Remote entry via Android and Launchpad
http://hackaday.com/2012/01/24/remote-entry-via-android-and-launchpad/
Example
LCD Booster Pack for MSP430 Launchpad
http://www.youtube.com/user/tenetworld?feature=uploademail_ch#p/a/u/0/otoX30Nxxs4
Example
Interfacing an LED array with Launchpad
http://www.youtube.com/user/tenetworld#p/u/7/7-rOZqGb_vU
Example
Interfacing switches with Launchpad to
control some peripherals
http://www.youtube.com/user/tenetworld#p/u/4/yms3oNRv7iA
Example
Interfacing 7 segment display with
Launchpad to display numbers from 0 to 9
http://www.youtube.com/user/tenetworld#p/a/u/0/pOlhQ0n552Y
Example
Interfacing stepper motor with Launchpad to
control elevator
http://www.youtube.com/user/tenetworld#p/u/0/uoyumI71lwA
Example
Automatic table light control using MSP430
Launchpad
http://www.youtube.com/user/tenetworld#p/u/0/COkKk2v-Glc
Example
Interfacing Shift Register with Launchpad
http://www.youtube.com/watch?v=9IYaH4L3o2Y&feature=channel_video_title
Example
Led fading through Launchpad (Software
PWM)
http://www.youtube.com/watch?v=XTASMmYSYY0&feature=channel_video_title
Example
Interfacing 16×2 LCD with Launchpad
http://www.youtube.com/watch?v=M7dtBxrTIxA&feature=channel_video_title
Example
Interfacing servo motor with Launchpad and
controlling through pot
http://www.youtube.com/watch?v=Mdt92jV5ggo&feature=channel_video_title
Example
Simple game created using LaunchPad
http://www.youtube.com/watch?v=VNFAhHhteYo
Example
Controlling RGB LED with LaunchPad using
Linux
http://www.youtube.com/watch?v=BWRTcx5swME
Example
LaunchPad + Sparkfun LCD: Button press
counter
http://www.youtube.com/watch?v=ml1emxlFFOw
Example
LaunchPad controlling 2 servos
http://www.youtube.com/watch?v=ElAh3YOMbB0
Example
Bi-color clock using LaunchPad
http://kennethfinnegan.blogspot.com/2010/08/msp430-bicolor-led-clock.html
Example
LaunchPad + piezo speaker: Playing The
Imperial March
http://processors.wiki.ti.com/index.php/Playing_The_Imperial_March
Example
Article about how to read digital caliper
position
http://robocombo.blogspot.com/2010/12/using-tis-launchpad-to-interface.html
Example
PushButton + DCO Interrupt Example
http://mspsci.blogspot.com/2010/08/tutorial-10-b-interrupt-examples.html

Example
LaunchPad Relay design
http://mspsci.blogspot.com/2010/07/design-note-using-outputs-to-control.html
Example
Beating Heart BCS
http://mspsci.blogspot.com/2010/07/tutorial-08-beating-heart-bcs-part-i.html
Example
Active online community for discussing
LaunchPad-related topics
http://groups.google.com/group/ti-launchpad
Example
TI’s online community for all things MSP430
http://e2e.ti.com/support/microcontrollers/msp43016-bit_ultra-low_power_mcus/f/default.
aspx
Example
one person’s explorations with the
Launchpad; with Beginner Guides and
simple tutorials
http://msp430launchpad.com/
Example
Yahoo Group for MSP430
http://tech.groups.yahoo.com/group/msp430/
Example
A blog about making scientific instruments
with MSP430
http://mspsci.blogspot.com/
Example
“MSP430 News, Projects and Hacks”
http://www.43oh.com/
Example
analog sensors and the msp430 launchpad
http://robotics.hobbizine.com/ldrlaunch.html
Learning
The Launchpad’s Example Project Ripped
Open NJC
http://www.msp430launchpad.com/2010/07/launchpads-example-project-ripped-open.html
Learning
explanation of the LaunchPad’s schematic
NJC
http://www.msp430launchpad.com/2010/07/schematic-images-and-explanation.html
Learning
Getting Started NJC using CCS
http://www.msp430launchpad.com/2010/12/njcs-launchscope-launchpad-oscilloscope.html
Learning
YouTube of LaunchPad
http://www.youtube.com/watch?v=GIUcMvukRXs
Learning
IAR Embedded Workbench Kickstart
http://focus.ti.com/docs/toolsw/folders/print/iar-kickstart.html
Learning
MSP430 Assembly Language Tools
http://focus.ti.com/lit/ug/slau131e/slau131e.pdf
Learning
MSP430 C/C++ Programming
http://focus.ti.com/lit/ug/slau132e/slau132e.pdf
Learning
MSP430 IAR Assembly Language Getting
Started
http://www.ece.uah.edu/~milenka/cpe323-09S/labs/lab2.s09.pdf
Learning
Beginning Microcontrollers with the MSP430
Tutorial
http://www.glitovsky.com/Tutorialv0_4.pdf
Learning
Connecting a dumb scale to your android
smartphone
http://hackaday.com/2012/02/13/connecting-a-dumb-scale-to-your-smartphone/
Learning
MSP430 LaunchPad Learning Community
http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_Learning_Community
Learning
Launchpad msp430 assembly language
tutorial
http://robotics.hobbizine.com/asmlau.html
Lecture
MSP430 INSTRUCTION SET
ARCHITECTURE
http://www.ece.uah.edu/~milenka/cpe323-10S/lectures/cpe323msp430_ISA.pdf
Lecture
MSP430 short architecture
http://homepages.ius.edu/rwisman/C335/HTML/MSP430/Chapt4.pdf
Lecture
MSP430 Getting Started **
http://homepages.ius.edu/rwisman/C335/HTML/msp430GetStarted.HTM
Overview
MSP430 Embedded Programming Tutorial
TUTORIAL – LED, ADC, PWM, Serial
http://www.referencedesigner.com/tutorials/msp430/msp430_01.php
Overview
MPS430 Wiki (TI)
http://processors.wiki.ti.com/index.php/MSP430
Reference
TI University Program Blog
http://www.ti.com/lsds/ti/university_program/ti_university_program.page
Reference
Microcontroller Projects for the MSP430
http://processors.wiki.ti.com/index.php/Category:Microcontroller_Projects_-_MSP430
Reference
MSP430F20xx, G2x01, G2x11, G2x21,
G2x31 Code Examples – Complete TI
collection
http://www.ti.com/lit/zip/slac080

Reference
MSP-EXP430G2 LaunchPad Development
Board – DigiKey
http://www.digikey.com/us/en/ph/texas-instruments/MSP-EXP430G2.html
Reference
MSP-EXP430G2 Quick Start Guide
http://www.ti.com/lit/ml/slac432a/slac432a.pdf
Reference
Linux and the TI MSP430 Microcontroller –
Syllabus
http://recursive-labs.com/coursepage/rl100-syllabus
Reference
Embedded Systems Design Using the Ti
Msp430 Series – Book preview
http://books.google.com/books?
id=bvlsEHm3npgC&lpg=PP1&pg=PP1#v=onepage&q&f=false
Reference
MSP430 Reference
https://sites.google.com/site/msp430ref/getting-started
Reference
TI MPS430 Getting Started
http://www.ti.com/lsds/ti/microcontroller/16-bit_msp430/getting_started.page
Reference
TI MSP430 User Guide
http://www.ti.com/general/docs/lit/getliterature.tsp?
baseLiteratureNumber=slau049&fileType=pdf
Reference
MSP430G2x31 MIXED SIGNAL
MICROCONTROLLER Data Sheet
http://www.ti.com/lit/ds/symlink/msp430g2231.pdf
Reference
Software I2C Slave Using the MSP430 –
timing diagrams
http://www.ti.com/lit/an/slaa330/slaa330.pdf
Reference
MSP430 ISA PPT Slides
http://www.google.com/url?
sa=t&rct=j&q=&esrc=s&source=web&cd=2&ved=0CH0QFjAB&url=http%3A%2F%
2Fece124web.groups.et.byu.net%2Fslides%2FChapter%252008%2520-%2520MSP430%
2520ISA.
ppt&ei=FjSpT5bXG4r28gTS8rTsAQ&usg=AFQjCNHOL77bSQnUcQhp9Mw7_jVX8JTp_w&sig2=-1o9sBv-m3Jg-CewO-xERw
Resource
Universal Real-Time Software Oscilloscope
GUI DLL Library
http://www.oscilloscope-lib.com/
Resource
Booster Packs – 43Oh Forum
http://store.43oh.com/index.php?route=product/category&path=64
Resource
43Oh Forum
http://www.43oh.com/forum/
Resource
Robotic Arm Kit with USB PC Interface
http://www.maplin.co.uk/robotic-arm-kit-with-usb-pc-interface-266257
 Posted by at 2:03 pm
Dec 312013
 

https://github.com/RickKimball/msp430_code/tree/master/fabooh

public / msp430_code

readme.md

FABOOH – \ˈfab-ü\

Fabooh is an optimized C++ template based peripheral framework for the msp430 microcontroller. It creates very small and efficient code while still providing a flexible framework similar to what you might expect to find with something like the Arduino API. It makes liberal use of inline msp430-gcc assembler code to produce optimized code that is sometimes smaller than generic ‘C’ code.

Example

A typical blink program looks something like this:

#include <fabooh.h>
#include <main.h>

inline void setup() {
  RED_LED::pinMode(OUTPUT);
  GREEN_LED::pinMode(OUTPUT);
  PUSH2::pinMode(INPUT_PULLUP);

  GREEN_LED::low();
  RED_LED::high();
}

void loop() {
  // block loop if user holds down the button
  if ( !PUSH2::read() ) {
    do {
      delay_msecs(10); // debounce switch
    } while(!PUSH2::read());
  }

  delay_msecs(100);
  RED_LED::toggle();
  GREEN_LED::toggle();
}

This results in very efficient code that uses only 120 bytes of flash, and no DATA or BSS space.

 Posted by at 8:04 am
Dec 312013
 

http://forum.43oh.com/topic/1913-frequency-counter-using-launchpad-nokia-5110-lcd/

oPossum Posted 11 March 2012 – 01:37 AM

Frequency Counter using Launchpad & Nokia 5110 LCD

 

This is a simple frequency counter with a range of 1 Hz to 16 MHz. It uses the 32 kHz watch crystal so the accuracy is good enough for many applications. Gate time is automatically set to 250 ms or 1 second.

There is no signal conditioning (front end), so it is limited to 3V logic levels signals only! It is intended to be used with digital circuits like another MSP430 or 74HCxx circuits. It is not a substitute for a proper commercial frequency counter.

How a frequency counter works: Fundamentals of Electronic Counters by Agilent

Wiring
Attached File  counter430.png   30.73KB   1837 downloads

http://www.youtube.c…h?v=z6-KxPXNLNA

http://www.youtube.c…h?v=JGjy-8yyLAE

 Posted by at 7:29 am
Dec 302013
 

 http://en.wikipedia.org/wiki/Poundbury

Poundbury

From Wikipedia, the free encyclopedia
Jump to: navigation, search

Coordinates: 50.713333°N 2.465278°W

Poundbury
Dorset poundbury 01.jpg
Brownsword Hall in Poundbury, designed by architect John Simpson and based on earlier traditional designs, particularly the one in Tetbury

Poundbury is located in Dorset

Poundbury

 Poundbury shown within Dorset

OS grid reference SY671549
District West Dorset
Shire county Dorset
Region South West
Country England
Sovereign state United Kingdom
Post town DORCHESTER
Postcode district DT1
Dialling code 01305
Police Dorset
Fire Dorset
Ambulance South Western
EU Parliament South West England
UK Parliament West Dorset
List of places
UK
England
Dorset

Poundbury is an experimental new town or urban extension on the outskirts of Dorchester in the county of Dorset, England.

The development is built on land owned by the Duchy of Cornwall. It is built according to the principles of Prince Charles, who is known for holding strong views challenging the post-war trends in town planning that were suburban in character.

 Posted by at 9:57 pm
Dec 272013
 

http://forum.arduino.cc/index.php/topic,148853.msg1118346.html#msg1118346

« on: February 13, 2013, 09:36:16 pm »
 Bigger Bigger  Smaller Smaller  Reset Reset

Here is my android controlled arduino project. A simple app sends data through SPP over bluetooth and switches an LED on and off.

The circuit is just a bluetooth module, arduino UNO, LED, resistor and some wires.

The LED can be switched on using buttons as well as voice activation (anything that contains the word ‘on’,’off’ or ‘blink’ – so saying ‘turn the LED on’ works as well as just uttering ‘on’).
I created the app using MIT app inventor and this project was created pretty much only to show how easy it is to write custom apps using the tool and interface with microcotrollers in this manner. One could use MIT app inventor to add more more features, such as using accelerometer or GPS data to control the LED, switching the state using text messages, web communication, not only send but also receive data, etc.
…well the point is – MIT app inventor is pretty cool and you should check it out

 Posted by at 9:53 pm
Dec 142013
 

http://www.nongnu.org/avr-libc/user-manual/group__avr__stdint.html

 

AVR Libc Home Page AVRs AVR Libc Development Pages
Main Page User Manual Library Reference FAQ Alphabetical Index Example Projects

 


<stdint.h>: Standard Integer Types

Exact-width integer types

Integer types having exactly the specified width
typedef signed char int8_t
typedef unsigned char uint8_t
typedef signed int int16_t
typedef unsigned int uint16_t
typedef signed long int int32_t
typedef unsigned long int uint32_t
typedef signed long long int int64_t
typedef unsigned long long int uint64_t

Integer types capable of holding object pointers

These allow you to declare variables of the same size as a pointer.
typedef int16_t intptr_t
typedef uint16_t uintptr_t

Minimum-width integer types

Integer types having at least the specified width
typedef int8_t int_least8_t
typedef uint8_t uint_least8_t
typedef int16_t int_least16_t
typedef uint16_t uint_least16_t
typedef int32_t int_least32_t
typedef uint32_t uint_least32_t
typedef int64_t int_least64_t
typedef uint64_t uint_least64_t

Fastest minimum-width integer types

Integer types being usually fastest having at least the specified width
typedef int8_t int_fast8_t
typedef uint8_t uint_fast8_t
typedef int16_t int_fast16_t
typedef uint16_t uint_fast16_t
typedef int32_t int_fast32_t
typedef uint32_t uint_fast32_t
typedef int64_t int_fast64_t
typedef uint64_t uint_fast64_t

Greatest-width integer types

Types designating integer data capable of representing any value of any integer type in the corresponding signed or unsigned category
typedef int64_t intmax_t
typedef uint64_t uintmax_t

Limits of specified-width integer types

C++ implementations should define these macros only when __STDC_LIMIT_MACROS is defined before <stdint.h> is included
#define INT8_MAX   0x7f
#define INT8_MIN   (-INT8_MAX – 1)
#define UINT8_MAX   (__CONCAT(INT8_MAX, U) * 2U + 1U)
#define INT16_MAX   0x7fff
#define INT16_MIN   (-INT16_MAX – 1)
#define UINT16_MAX   (__CONCAT(INT16_MAX, U) * 2U + 1U)
#define INT32_MAX   0x7fffffffL
#define INT32_MIN   (-INT32_MAX – 1L)
#define UINT32_MAX   (__CONCAT(INT32_MAX, U) * 2UL + 1UL)
#define INT64_MAX   0x7fffffffffffffffLL
#define INT64_MIN   (-INT64_MAX – 1LL)
#define UINT64_MAX   (__CONCAT(INT64_MAX, U) * 2ULL + 1ULL)

Limits of minimum-width integer types

#define INT_LEAST8_MAX   INT8_MAX
#define INT_LEAST8_MIN   INT8_MIN
#define UINT_LEAST8_MAX   UINT8_MAX
#define INT_LEAST16_MAX   INT16_MAX
#define INT_LEAST16_MIN   INT16_MIN
#define UINT_LEAST16_MAX   UINT16_MAX
#define INT_LEAST32_MAX   INT32_MAX
#define INT_LEAST32_MIN   INT32_MIN
#define UINT_LEAST32_MAX   UINT32_MAX
#define INT_LEAST64_MAX   INT64_MAX
#define INT_LEAST64_MIN   INT64_MIN
#define UINT_LEAST64_MAX   UINT64_MAX

Limits of fastest minimum-width integer types

#define INT_FAST8_MAX   INT8_MAX
#define INT_FAST8_MIN   INT8_MIN
#define UINT_FAST8_MAX   UINT8_MAX
#define INT_FAST16_MAX   INT16_MAX
#define INT_FAST16_MIN   INT16_MIN
#define UINT_FAST16_MAX   UINT16_MAX
#define INT_FAST32_MAX   INT32_MAX
#define INT_FAST32_MIN   INT32_MIN
#define UINT_FAST32_MAX   UINT32_MAX
#define INT_FAST64_MAX   INT64_MAX
#define INT_FAST64_MIN   INT64_MIN
#define UINT_FAST64_MAX   UINT64_MAX

Limits of integer types capable of holding object pointers

#define INTPTR_MAX   INT16_MAX
#define INTPTR_MIN   INT16_MIN
#define UINTPTR_MAX   UINT16_MAX

Limits of greatest-width integer types

#define INTMAX_MAX   INT64_MAX
#define INTMAX_MIN   INT64_MIN
#define UINTMAX_MAX   UINT64_MAX

Limits of other integer types

C++ implementations should define these macros only when __STDC_LIMIT_MACROS is defined before <stdint.h> is included
#define PTRDIFF_MAX   INT16_MAX
#define PTRDIFF_MIN   INT16_MIN
#define SIG_ATOMIC_MAX   INT8_MAX
#define SIG_ATOMIC_MIN   INT8_MIN
#define SIZE_MAX   (__CONCAT(INT16_MAX, U))

Macros for integer constants

C++ implementations should define these macros only when __STDC_CONSTANT_MACROS is defined before <stdint.h> is included.These definitions are valid for integer constants without suffix and for macros defined as integer constant without suffix
#define INT8_C(value)   ((int8_t) value)
#define UINT8_C(value)   ((uint8_t) __CONCAT(value, U))
#define INT16_C(value)   value
#define UINT16_C(value)   __CONCAT(value, U)
#define INT32_C(value)   __CONCAT(value, L)
#define UINT32_C(value)   __CONCAT(value, UL)
#define INT64_C(value)   __CONCAT(value, LL)
#define UINT64_C(value)   __CONCAT(value, ULL)
#define INTMAX_C(value)   __CONCAT(value, LL)
#define UINTMAX_C(value)   __CONCAT(value, ULL)

Detailed Description

 #include <stdint.h>

Use [u]intN_t if you need exactly N bits.

Since these typedefs are mandated by the C99 standard, they are preferred over rolling your own typedefs.


Define Documentation

 

#define INT16_C ( value )    value

define a constant of type int16_t

 

#define INT16_MAX   0x7fff

largest positive value an int16_t can hold.

 

#define INT16_MIN   (-INT16_MAX – 1)

smallest negative value an int16_t can hold.

 

#define INT32_C ( value )    __CONCAT(value, L)

define a constant of type int32_t

 

#define INT32_MAX   0x7fffffffL

largest positive value an int32_t can hold.

 

#define INT32_MIN   (-INT32_MAX – 1L)

smallest negative value an int32_t can hold.

 

#define INT64_C ( value )    __CONCAT(value, LL)

define a constant of type int64_t

 

#define INT64_MAX   0x7fffffffffffffffLL

largest positive value an int64_t can hold.

 

#define INT64_MIN   (-INT64_MAX – 1LL)

smallest negative value an int64_t can hold.

 

#define INT8_C ( value )    ((int8_t) value)

define a constant of type int8_t

 

#define INT8_MAX   0x7f

largest positive value an int8_t can hold.

 

#define INT8_MIN   (-INT8_MAX – 1)

smallest negative value an int8_t can hold.

 

#define INT_FAST16_MAX   INT16_MAX

largest positive value an int_fast16_t can hold.

 

#define INT_FAST16_MIN   INT16_MIN

smallest negative value an int_fast16_t can hold.

 

#define INT_FAST32_MAX   INT32_MAX

largest positive value an int_fast32_t can hold.

 

#define INT_FAST32_MIN   INT32_MIN

smallest negative value an int_fast32_t can hold.

 

#define INT_FAST64_MAX   INT64_MAX

largest positive value an int_fast64_t can hold.

 

#define INT_FAST64_MIN   INT64_MIN

smallest negative value an int_fast64_t can hold.

 

#define INT_FAST8_MAX   INT8_MAX

largest positive value an int_fast8_t can hold.

 

#define INT_FAST8_MIN   INT8_MIN

smallest negative value an int_fast8_t can hold.

 

#define INT_LEAST16_MAX   INT16_MAX

largest positive value an int_least16_t can hold.

 

#define INT_LEAST16_MIN   INT16_MIN

smallest negative value an int_least16_t can hold.

 

#define INT_LEAST32_MAX   INT32_MAX

largest positive value an int_least32_t can hold.

 

#define INT_LEAST32_MIN   INT32_MIN

smallest negative value an int_least32_t can hold.

 

#define INT_LEAST64_MAX   INT64_MAX

largest positive value an int_least64_t can hold.

 

#define INT_LEAST64_MIN   INT64_MIN

smallest negative value an int_least64_t can hold.

 

#define INT_LEAST8_MAX   INT8_MAX

largest positive value an int_least8_t can hold.

 

#define INT_LEAST8_MIN   INT8_MIN

smallest negative value an int_least8_t can hold.

 

#define INTMAX_C ( value )    __CONCAT(value, LL)

define a constant of type intmax_t

 

#define INTMAX_MAX   INT64_MAX

largest positive value an intmax_t can hold.

 

#define INTMAX_MIN   INT64_MIN

smallest negative value an intmax_t can hold.

 

#define INTPTR_MAX   INT16_MAX

largest positive value an intptr_t can hold.

 

#define INTPTR_MIN   INT16_MIN

smallest negative value an intptr_t can hold.

 

#define PTRDIFF_MAX   INT16_MAX

largest positive value a ptrdiff_t can hold.

 

#define PTRDIFF_MIN   INT16_MIN

smallest negative value a ptrdiff_t can hold.

 

#define SIG_ATOMIC_MAX   INT8_MAX

largest positive value a sig_atomic_t can hold.

 

#define SIG_ATOMIC_MIN   INT8_MIN

smallest negative value a sig_atomic_t can hold.

 

#define SIZE_MAX   (__CONCAT(INT16_MAX, U))

largest value a size_t can hold.

 

#define UINT16_C ( value )    __CONCAT(value, U)

define a constant of type uint16_t

 

#define UINT16_MAX   (__CONCAT(INT16_MAX, U) * 2U + 1U)

largest value an uint16_t can hold.

 

#define UINT32_C ( value )    __CONCAT(value, UL)

define a constant of type uint32_t

 

#define UINT32_MAX   (__CONCAT(INT32_MAX, U) * 2UL + 1UL)

largest value an uint32_t can hold.

 

#define UINT64_C ( value )    __CONCAT(value, ULL)

define a constant of type uint64_t

 

#define UINT64_MAX   (__CONCAT(INT64_MAX, U) * 2ULL + 1ULL)

largest value an uint64_t can hold.

 

#define UINT8_C ( value )    ((uint8_t) __CONCAT(value, U))

define a constant of type uint8_t

 

#define UINT8_MAX   (__CONCAT(INT8_MAX, U) * 2U + 1U)

largest value an uint8_t can hold.

 

#define UINT_FAST16_MAX   UINT16_MAX

largest value an uint_fast16_t can hold.

 

#define UINT_FAST32_MAX   UINT32_MAX

largest value an uint_fast32_t can hold.

 

#define UINT_FAST64_MAX   UINT64_MAX

largest value an uint_fast64_t can hold.

 

#define UINT_FAST8_MAX   UINT8_MAX

largest value an uint_fast8_t can hold.

 

largest value an uint_least16_t can hold.

 

largest value an uint_least32_t can hold.

 

largest value an uint_least64_t can hold.

 

#define UINT_LEAST8_MAX   UINT8_MAX

largest value an uint_least8_t can hold.

 

#define UINTMAX_C ( value )    __CONCAT(value, ULL)

define a constant of type uintmax_t

 

#define UINTMAX_MAX   UINT64_MAX

largest value an uintmax_t can hold.

 

#define UINTPTR_MAX   UINT16_MAX

largest value an uintptr_t can hold.


Typedef Documentation

 

typedef signed int int16_t

16-bit signed type.

 

typedef signed long int int32_t

32-bit signed type.

 

typedef signed long long int int64_t

64-bit signed type.

Note:
This type is not available when the compiler option -mint8 is in effect.

 

typedef signed char int8_t

8-bit signed type.

 

typedef int16_t int_fast16_t

fastest signed int with at least 16 bits.

 

typedef int32_t int_fast32_t

fastest signed int with at least 32 bits.

 

typedef int64_t int_fast64_t

fastest signed int with at least 64 bits.

Note:
This type is not available when the compiler option -mint8 is in effect.

 

typedef int8_t int_fast8_t

fastest signed int with at least 8 bits.

 

signed int with at least 16 bits.

 

signed int with at least 32 bits.

 

signed int with at least 64 bits.

Note:
This type is not available when the compiler option -mint8 is in effect.

 

typedef int8_t int_least8_t

signed int with at least 8 bits.

 

typedef int64_t intmax_t

largest signed int available.

 

typedef int16_t intptr_t

Signed pointer compatible type.

 

typedef unsigned int uint16_t

16-bit unsigned type.

 

typedef unsigned long int uint32_t

32-bit unsigned type.

 

typedef unsigned long long int uint64_t

64-bit unsigned type.

Note:
This type is not available when the compiler option -mint8 is in effect.

 

typedef unsigned char uint8_t

8-bit unsigned type.

 

fastest unsigned int with at least 16 bits.

 

fastest unsigned int with at least 32 bits.

 

fastest unsigned int with at least 64 bits.

Note:
This type is not available when the compiler option -mint8 is in effect.

 

typedef uint8_t uint_fast8_t

fastest unsigned int with at least 8 bits.

 

unsigned int with at least 16 bits.

 

unsigned int with at least 32 bits.

 

unsigned int with at least 64 bits.

Note:
This type is not available when the compiler option -mint8 is in effect.

 

unsigned int with at least 8 bits.

 

typedef uint64_t uintmax_t

largest unsigned int available.

 

typedef uint16_t uintptr_t

Unsigned pointer compatible type.


 

Automatically generated by Doxygen 1.7.6.1 on Tue Jan 3 2012.

 Posted by at 8:07 pm
Dec 142013
 

http://energia.nu/Guide_BuildProcess.html

Energia Build Process

Overview

A number of things have to happen for your Energia code to get onto the LaunchPad board. First, the Energia environment performs some small transformations to make sure that the code is correct C or C++ (two common programming languages). It then gets passed to a compiler (MSPGCC),

 Posted by at 7:47 am
Dec 112013
 

 http://learningmsp430.wordpress.com/category/msp430-a-world-apart/

Testing individual segments of a 7 Segment display

Today I took one 7 segment display from my college lab. While I’ve used these before, I saw this after a long time. Now I was trying to remember how to operate it. The one that I got was common cathode type. So in this cathode is common. Now cathode is the negative terminal of 7 segment display and needs to be grounded. So logically if you want any segment to glow you need to supply Vcc. But 7 segment display is nothing more than a group of led’s arranged in specific order and of particular shape. So like any ordinary led’s it will definitely burn if the current exceeds the rated value. That is why we normally use current limiting resistors. But testing using that set up is tedious. So we’ll learn how to test the segments using a multimeter.

One more thing, the printed code on seven segment display will have a CC mark for common cathode and A for common anode.
7segLed

Above figure shows both the variants of 7 segment displays i.e the common anode and common cathode.

Steps involved in testing:

 Posted by at 6:16 am
Dec 082013
 

http://processors.wiki.ti.com/index.php/MSP430_Low_Cost_PinOsc_Capacitive_Touch_Overview

 Posted by at 11:47 am
Dec 082013
 

http://www.ucl.ac.uk/Mathematics/geomath/level2/deqn/MHde.html

A A A

UCL Department of Mathematics

News for Department of Mathematics

No articles are available.

LMS GPS Logo

Page last modified on 07 Oct 13 17:09

Normal view | High contrast view

 Posted by at 11:22 am
Dec 082013
 

http://hackaday.com/2010/11/09/debounce-code-one-post-to-rule-them-all/

Debounce Code – one post to rule them all

November 9, 2010 by 32 Comments

Last month we asked you to send in your debounce code. You didn’t disappoint and it’s time to share the code received. There were some guideline for sending in code so if you don’t see yours here, it probably didn’t follow the rules, sorry. We also tried to weed out code that using delay loops for debounce. These tend to be a poor way to handle inputs because they monopolize the processor.

 Posted by at 10:41 am
Dec 082013
 

http://artists.sci-toys.com/chip_to_chip_serial

Communicating between a Launchpad and another MSP430 chip

The Launchpad comes with an extra MSP430 chip, the MSP430G2452. In this project we will finally get to play with it, since we want to extend the capabilities of our Launchpad to control more LEDs.

First we will build the 14 pin PWM circuit from the Serial PWM project. We do it on a solderless breadboard as shown in the photo below:

 Posted by at 9:18 am
Dec 082013
 

http://forum.43oh.com/topic/39-list-of-msp430-webpages-and-blogs/

List of MSP430 Webpages and Blogs

Started by bluehash, Aug 27 2010 02:47 PM
[1]43oh.com Member Blogs

Gatesphere’s blog / Resources
NJC’s blog
beretta’s blog
jsolarski’s blog
GeekDoc’s blog
Joby Taffey’s blog / Resources
[2] Travis Goodspeed at blogspot (some MSP430 content) and the GoodFET at SourceForge
[3] MSP430 Samples.
[4] SimpleAvr’s Blog
[5] TI’s Learning Community Resource Page. – This is a goldmine.
[6] Robotics Hobbizine – Launchpad Specific + Other pages
[7] PhirePhly’s blog
[8] GeoNomad’s blog
[9] fatihinanc’s blog
[10] Longhorn Engineer’s blog
[11] Markoez’s blog
[12] Greeeg’s blog
[13] Lakeweb’s blog
[14] Nytblade’s blog
[15] Lar’s blog.

C2kCentral – C2000 News, Projects and Forums
Stellarisiti – Join the new Stellaris ARM Forums discussing Stellaris Microcontroller.
43oh – MSP430 Discussion, News, Projects and Hacks
MachineGrid – Robots, Hacks and Technology!
A lot of MSP430 reverse engineering stuff by Travis Goodman.
http://www.msp430launchpad.com/ – NJC’s blog
http://mspsci.blogspot.com/ – beretta’s blog
http://justinstech.org/ – jsolarski’s blog
http://blog.docstech.net/ – GeekDoc’s blog
http://blog.suspended-chord.info/ – my blog, sure to contain a lot of MSP430 stuff as time goes on.
How about TI’s sample order instruction page?
http://focus.ti.com/…contentId=69854
 Posted by at 7:12 am
Dec 072013
 

http://glitovsky.com/blog/?page_id=21

25 thoughts on “Tutorials”

 Posted by at 10:00 pm
Dec 072013
 

http://bennthomsen.wordpress.com/ti-msp430-launchpad/using-the-switches/

Using Energia to code in c

Testing the Energia IDE installation

As a first step it is always a good idea to test that Energia works on your system. Open Energia and select File>Examples>1.Basics>Blink

Select the correct board and chip as shown below, Tools>Board

 Posted by at 9:57 pm
Dec 072013
 

http://tmblr.co/ZF7mJupjcFfv

Capacitive touch sensor with MSP430 Launchpad

I found this interesting article on making a capacitative touch sensor with graphite drawings here, and I wanted to modify it for the MSP430g2331.

The first thing I had to change was the readCapacitative() function. I only allow use of the P1.x pins, and I changed the input from pin number to the x in P1.x, to match the layout of the MSP430 registers.

Here is my modified readCapacitative function:

    // readCapacitivePin
//  Input: x in P1.x pin name 
//  Output: A number expressing
//          how much capacitance is on the pin
//  When you touch the pin, or whatever you have
//  attached to it, the number will get higher
//  In order for this to work now,
// The pin should have a 1+Megaohm resistor pulling
//  it up to +5v.
uint8_t readCapacitivePin(int pinToMeasure){
  // This is how you declare a variable which
  //  will hold the PORT, PIN, and DDR registers
  //  on an AVR
  volatile uint8_t* port;
  volatile uint8_t* ddr;
  volatile uint8_t* pin;
  // Here we translate the input pin number from
  //  Arduino pin number to the AVR PORT, PIN, DDR,
  //  and which bit of those registers we care about.
  byte bitmask;

    port = (uint8_t*) &P1OUT;
    ddr = (uint8_t*) &P1DIR;
    bitmask = 1 << pinToMeasure;
    pin = (uint8_t*) &P1IN;

  // Discharge the pin first by setting it low and output
  *port &= ~(bitmask);
  *ddr  |= bitmask;
  delay(1);
  // Make the pin an input WITHOUT the internal pull-up on
  *ddr &= ~(bitmask);
  // Now see how long the pin to get pulled up
  int cycles = 16000;
  for(int i = 0; i < cycles; i++){
    if (*pin & bitmask){
      cycles = i;
      break;
    }
  }
  // Discharge the pin again by setting it low and output
  //  It's important to leave the pins low if you want to 
  //  be able to touch more than 1 sensor at a time - if
  //  the sensor is left pulled high, when you touch
  //  two sensors, your body will transfer the charge between
  //  sensors.
  *port &= ~(bitmask);
  *ddr  |= bitmask;

  return cycles;
}

The important part is changing PORTD, DDRD and PIND to the port names for the MSP430. I also changed the output pin to P1.0 (the red LED). I wanted to produce a speaker tone instead of lighting an LED, but the tone library was way too much to include with this program – this chip only has 2K RAM.

Now I can get the light to turn on by touching the pin end of the resistor directly, but for some reason I haven’t had any luck with a pencil drawing yet. Strangely, it seems to work best when I touch the +5V end with one hand and the pin end with the other. Also very strangely, I had to set the serial monitor to 4800 baud to see proper output.

More info on the MSP430g2231 can be found here, and the IDE I am using, Energia, can be found here.

  1. c-d-e likes this
  2. mandrakeinrochester likes this
  3. thecodemaiden posted this
Short URL for this post: http://tmblr.co/ZF7mJupjcFfv
 Posted by at 1:14 pm
Dec 072013
 

 

http://www.element14.com/community/blogs/mirandasoft/2013/07/02/msp430-testing-the-capacitive-touch-boosterpack-with-energia-in-linux

 

MSP430-CapTouch.jpg

My 2nd BoosterPack!

Basically, the only real capacitive touch experience I have, is with my Android phone and tablet PC. That all changed today when I received the Capacitive Touch BoosterPack and another MSP430 LaunchPad from a Good Samaritan by the name of Drew Fustini. Click HERE for a product review page (external). For today’s projects, I’m using Energia in Xubuntu Linux. Click HERE to get the CapTouch Energia Library.

 Posted by at 1:09 pm
Dec 022013
 

http://dangerousprototypes.com/2013/12/02/ambient-backscatter-wireless-power-and-communication-with-no-batteries/

Ambient Backscatter – Wireless power and communication with no batteries

December 2, 2013 in wireless by DP | 1 comment

ambient_backscatter

Ambient Backscatter – Wireless power and communication with no batteries

Ambient Backscatter transforms existing wireless signals into both a source of power and a communication medium. It enables two battery-free devices to communicate by backscattering existing wireless signals. Backscatter communication is orders of magnitude more power-efficient than traditional radio communication. Further, since it leverages the ambient RF signals that are already around us, it does not require a dedicated power infrastructure as in RFID.

Via Hacked Gadgets.

Check out the video after the break.

 Posted by at 6:22 pm
Dec 022013
 

http://www.raymond.cc/blog/

Read more: http://www.raymond.cc/blog/permanently-delete-and-remove-sensitive-files-to-prevent-data-recovery/#ixzz2mKkoyvyk

 Posted by at 4:00 pm
Dec 012013
 

http://www.cs.columbia.edu/~sedwards/classes/2011/gateway-fall/index.html

 

Stephen A. Edwards Columbia University Crown
ENGI E1112 Section 5
Gateway Lab for Computer Science and Computer Engineering
Fall 2011

Labs

Lab is Thursdays 1:10 – 3:55 PM in 1220A and 1218 Mudd

Staff

Name Email Office Hours
Prof. Stephen A. Edwards sedwards@cs.columbia.edu M 3-4, Th 2-3, 462 CSB
Yoonji Shin ys2476@columbia.edu

Overview

In this project, you will write new firmware for an HP 20b calculator. This is an example of embedded programming: coding software for something that does not, and should not, appear to be a computer in the traditional sense, yet is one at its core. The plummeting cost of integrated circuits has made such embedded systems ubiquitous, and this trend promises to continue. The challenges of designing such systems run the gamut from traditional electrical issues such as sensor noise and power consumption all the way to high-level computer science problems such as efficient algorithm design to human factors engineering. You will experience all of these, and learn some standard solutions, while performing this project.

Lectures

Title Notes
A Shotgun Introduction to C pdf

Labs

Title Instructions Files Code Review
1: Getting Started: Hello World pdf .tar.gz file pdf
2: Listening to the Keyboard pdf .tar.gz file pdf
3: Entering and displaying numbers pdf .tar.gz file pdf
4: An RPN Calculator .tar.gz file

Report

Here is a pdf report template and the .tar.gz file source files to build it.
pdfFormatting Information: A Beginner’s Introduction to Typesetting with LaTeX
pdfThe Not So Short Introduction to LaTeX 2e

Groups

Report Presentation
PDF file PDF file Andrew Pope William Van Arsdall Abhinav Mishra
PDF file PDF file Kaiven Zhou Yiming Ge Anna Teng
PDF file PDF file Nicole Lewis Feifei Kong Vanshil Shah
PDF file PDF file Ankita Gore Shikhar Kumar Christina Huang
PDF file PDF file Alysia Sanchez Jessica Wang DongYeop Kang Gabriela Melchior
PDF file PDF file Eric Leung Michael Yan Binna Han
PDF file PDF file Dimitri Dyatlov Kevin Roark Nicholas Duckwiler

Resources

pdf Installing a C development environment on a virtual machine
pdf HP 20b schematics
HP’s HP 20b Developer Kit
Atmel’s SAM7L Series of Chips
AT91SAM7L128 Datasheet (The chip)
ARM7TDMI technical reference manual (the processor on the chip)

Other

Valid HTML 4.01Valid CSS

 Posted by at 8:01 pm