Show Posts
Pages: [1]
1  Using Arduino / Microcontrollers / Re: Arduino as an ISP for Texas Instruments Microcontroller? on: March 20, 2013, 10:53:53 pm
A couple of times, I have seen complaints that programming the Texas instruments with a launchpad has the complication of doing it all in ASM, which is a very cryptic language, unlike C.

People have gotten around this by using Energia, a AVR-Style compiler designed for the launchpad.

I would like to know: Is it possible to use the Arduino board as an in-system-programmer for JUST the Texas Instruments MCU?
I want to be able to program an MSP430, like like I would program an external Atmel Chip.

There are many c compiler option for the msp430. CCS Texas Instruments C/C++ compiler, IAR has a commercial compiler and then there is the free msp430-gcc c/c++ compiler. TI provides samples in C.  Energia is an Arduino port of the msp430. It implements an Arduino API, most straight Arduino code just works.  The launchpad device is $10. It is equivalent to buying an AVR dragon. It is both a programmer and a hw debugger.  There is no reason to use asm unless you want to.  

If you want to go into the larger chips. There are many other options. All of them can be programmed in C or C++.

There is no reason to use an ISP with the msp430 chips. You can get a real hardware debugger / programmer usb device for less than the cost of an FTDI module.

TI code examples for the msp430g2553
Energia forum:

2  Using Arduino / Microcontrollers / Re: TI MSP430 LaunchPad experiences on: April 12, 2012, 04:58:58 am
Texas Instruments is the only way to go when it comes to a Launchpad.  It only costs $4.30 and has free shipping.

3  Using Arduino / Microcontrollers / Re: TI MSP430 LaunchPad experiences on: April 11, 2012, 11:25:07 pm
You might want to check out Energia (Arduino IDE) for msp430

4  Using Arduino / Project Guidance / Re: Suggestions for record audio and random audio playback from recordings. on: July 12, 2011, 09:34:07 am
Maybe this app note would be helpful:

5  Using Arduino / Microcontrollers / Re: How does arduino handle usart with 16MHz? on: April 13, 2011, 08:21:00 pm
Well, I was actually working on a project with attiny2313 which will use usart communications!

So if I use a 16 Mhz Crystal or even 8Mhz it wont be much of a problem ? [will save me 40 km bus ride to the nearest electronic bazaar for those magic number crystals]

You should take a look at the Atmel AppNote AVR053. It describes how you can adjust the internal clock and tune it by changing the OSCCAL register. If you want to run with the standard UART rates up to 115200, tune your OSCCAL value so that your clock runs at 7.3728 MHZ. You should be able to run without a crystal using any of the standard baud rates.  The internal clock on most chips is adjustable from 7.3 - 8.1 MHZ.


6  Using Arduino / Microcontrollers / Re: Arduino Tiny on: March 05, 2011, 06:06:53 pm
For the life of me, I can't get this to work.

I've now done a fresh reinstall of the Arduino IDE three times now, and whatever I try, I always end up with "avrdude: stk500_getsync(): not in sync: resp=0x15".

I had the same problem.  This posting
got me going:

avrdude: stk500_getsync(): not in sync: resp=0x15

This error is because of Auto Reset capabilities of Arduino. This document: MegaISP gave me some details. This error occurs on Mac or Linux. For using Arduino as ISP, I need to disable Auto Reset capabilities. Therefore I inserted 110 ohms (330 ohms / 3) resistor between Reset-pin and 5V-pin. This resistor should be above 110 ohms and below 124 in accordance with this document: DisablingAutoResetOnSerialConnection.

I tried to burn Arduino bootloader onth ATmega 8 again and succeeded in it. I connected 19 pin of ATmega 8 and GND with a LED and it flashed. This behavior proves buring Arduino bootloader in accordance with this document: Bootloader.

7  Community / Bar Sport / Re: Your latest purchase on: February 21, 2011, 01:45:30 pm
(5) ATMEGA1284P-PU chips from only 5.82 per chip !  Why
so inexpensive? I don't know, but I couldn't resist.

My plan is to experiment using SPI and I2C to make some stepper driver boards.  These things are
40 pin dips so they are easy to work with on a breadboard.  128K of program flash, 16k of SRAM and
32 I/O pins. 
8  Forum 2005-2010 (read only) / Development / Re: working with eclipse and arduino libraries problem on: August 20, 2010, 11:37:28 am
9  Forum 2005-2010 (read only) / Development / Re: Any FIFO, Queue, Stack helper classes? on: July 20, 2010, 09:04:28 am
Would like to use a FIFO without building one

You might look at this:
10  Forum 2005-2010 (read only) / Development / Re: Any FIFO, Queue, Stack helper classes? on: July 17, 2010, 12:42:57 pm
Stack.h -
 * Stack.h - an adjustable fixed sized stack template
 *  Example: to create a stack with max of 10 chars just do this:
 *  Stack<char, 10> myStack;
 *  myStack.push('a');
 *  myStack.push('b');
 *  myStack.push('c');
 *  while(myStack.empty()) {
 *     char foo = myStack.pop();
 *  }

#ifndef _STACK_H_
#define _STACK_H_

 * Fixed Size Stack Template
template<typename T, int MAX_ITEMS>
class Stack {
  T stackData[MAX_ITEMS]; // max number of items in this stack
  T* stackPtr;
  int top;
  ~Stack() { }

  int empty() const { return top == -1; }
  int full() const { return top == MAX_ITEMS - 1; }
  T pop();
  void push(const T& item);
  int size() const { return top+1; }

 * Fixed Size Stack Constructor
template<typename T, int N>
Stack<T, N>::Stack():top(-1) {
  stackPtr = &stackData[0]; // initialize stackPt

 * push a value on the stack
template<typename T, int N>
void Stack<T, N>::push(const T& item) {
  if (!full()) {
      stackPtr[++top] = item;
  // push unsuccessful

 * pop a value off the stack
template<typename T, int N>
T Stack<T, N>::pop() {
  if (!empty()) {
    return stackPtr[top--]; // pop successful
  else {
    stackPtr[0]; // pop unsuccessful .. need to return something
Stack of 10 Ints -
// example using Fixed Size Stack

#include "Stack.h"

// create a stack of 10 ints
typedef Stack<int,10> IntStack;

static IntStack myStack;

void setup() {

  // push some data into the stack
  for(int i=0; i < 10; ++i ) {

void loop() {

  if ( !myStack.empty() ) {
    Serial.print("Stack size=");

    while( !myStack.empty() ) {
      if ( !myStack.empty() ) {
        Serial.print(", ");
  else {
    Serial.println("stack empty");

Output looks like this:
Stack size=10
<9, 8, 7, 6, 5, 4, 3, 2, 1, 0>
stack empty

Pages: [1]