Getting Started with the MSP430 LaunchPad Workshop

From Texas Instruments Embedded Processors Wiki

Jump to: navigation, search
Translate this page to   

LP.jpg
Version 2.10 February 2013

Now with CCS 5.3

Contents

Introduction

The Getting Started with the MSP430 LaunchPad Workshop is free, on-line, in-depth introduction into MSP430 basics including:


Each of these sections includes an in-depth lab that will step you through the usage, programming and testing of the peripheral(s) or tool(s) covered.

Running The Labs

To run the labs, you will need the following:

Workshop Material

Workshop Video

You can watch a video of the workshop modules by clicking the following links:

Other Resources (SEO)


E2e.jpg For technical support on MSP430 please post your questions on The MSP430 Forum. Please post only comments about the article Getting Started with the MSP430 LaunchPad Workshop here.
Hyperlink blue.png Links
ARM Microcontroller MCU ARM Processor Digital Media Processor Digital Signal Processing Microcontroller MCU Multi Core Processor
Ultra Low Power DSP 8 bit Microcontroller MCU 16 bit Microcontroller MCU 32 bit Microcontroller MCU

Leave a Comment

Comments

Comments on Getting Started with the MSP430 LaunchPad Workshop


Contents

Chikku said ...

Hi,

I think there is a typo in the Launchpad workshop document. It says that the value line(Gxx) has MSP430X core.

Regards.

--Chikku 22:54, 11 November 2010 (CST)

Notsane said ...

Good catch. I fixed that, but I left the version number the same.

--Notsane 16:10, 12 November 2010 (CST)

Markey1979 said ...

This is awesome. I have been an electronics hobbyist most of my life, but have not yet dabbled into programming real microprocessors. I have used the Picaxe microprocessor, but I do not count that because it programs in BASIC. Hopefully when I finally get my launchpad, it will be everything I dreamed and more!! I have always seen TI as a leader in innovation, but How can they make and distribute these so inexpensively? I was contemplating purchase of a Microchip evaluation board, but there is a considerable difference in price. Hopefully this will satisfy my curiousity, or fear, of the real microcontroller programming enviornment.

As a side note, I think it is ironic that the wiki recommends Radio Shack products for a soldering iron, and test leads. They should also recommend a meter from them seeing as they are based in texas, Fort Worth I believe.

Just a coincidence?

--Markey1979 23:14, 18 November 2010 (CST)

Dan K said ...

Hi,

I found 16 errors in the workbook PDF file in going through the Workshop labs. How do I give that feedback to the author?


--Dan K 17:18, 19 November 2010 (CST)

Notsane said ...

I am the author.

@Markey1979: There's no Dallas relation to the Radio Shack recommendations, just that RS is local to a lot of people.

@Dan K: Just leave your feedback here please.

--Notsane 15:00, 29 November 2010 (CST)

Dan K said ...

My preference would be to send the marked up PDF file. How would I do that here?


--Dan K 14:00, 3 December 2010 (CST)

Notsane said ...

A list of page numbers and suggestions is definitely preferred to a marked up pdf. Then I have to search every page to find the issues and decipher the meaning of the suggestion. Something like: Page1: s3arch should be search in 3rd paragraph. You could post the list to an on-line storage site and leave the link to it here

--Notsane 22:59, 3 December 2010 (CST)

Markey1979 said ...

@notsane

I'm sure there is no relation, but I thought it quite comical, in a nerdy way  :)

--Markey1979 14:07, 5 December 2010 (CST)

Markey1979 said ...

.....and I actually started out life using TI products. The Ti-99/4a was my first pc When I was quite young, and I also had a "Speak and Say." I wish I still had either of them today! TI also is my, and most other people's, prefered calculator manufacturer.

--Markey1979 14:13, 5 December 2010 (CST)

Dan K said ...

@notsane: (marked up manual) Actually, in Acrobat, if you turn on the "Comments" navigation bar (View->Navigation Panels->Comments), you can click on the Comment symbol and get a split window that allows you to easily go to each comment in the document directly or to the next/previous comments. That being said, I put the marked up PDF file on "http://dlkeng.cwahi.net/MSP430.htm". From there you can download it and note the readily visible comments/suggestions on the following pages: Pg. 41 Pg. 42 Pg. 44 Pg. 48 Pg. 49 Pg. 50 Pg. 51 Pg. 62 Pg. 65 Pg. 75 Pg. 88 Pg. 91 Pg. 94 Pg. 95 Pg. 96 Pg. 106

Dan


--Dan K 18:29, 6 December 2010 (CST)

Notsane said ...

Dan, you're one heck of a proof-reader! Thanks for sending these updates. I've uploaded the revised pdf and the Word docs. Thanks!

Here's my comments:

Page 41: Fixed

Page 42: Fixed

Page 44: Fixed

Page 48, 50, 51: My original intent was that people would run this lab either with or without a crystal, not both. But your suggestions allows both. I like this change ... fixed.

Page 62: Versioning issue. Fixed

Page 65: Nice catch. Fixed

Page 75: Fixed

Page 88: Fixed

Page 91: Fixed

Page 94: 1st two items fixed. delay_cycles() should be 500 according to step 25.

Page 95: 500, I think. CCR0 statement fixed

Page 96: Fixed

Page 106:Fixed

--Notsane 20:52, 6 December 2010 (CST)

Brous61 said ...

Thanks for the guide

In the lab 4, you ask to "Add Watch Expression" for the tempRaw : I do not have this option in the popup menu. What do i have to do to get it ?


--Brous61 09:46, 2 January 2011 (CST)

Notsane said ...

@Brous61 ... You are probably back in the C/C++ perspective rather than the Debug perspective. Switch your perspective and the selection will appear in the drop-down menu.

--Notsane 12:25, 4 January 2011 (CST)

Kc2hiz said ...

5-8, section 9 (page 72). The code refers to TASSEL_1 to source with ACLK which agrees with the header file. The bullet summary after TACTL = TASSEL_1 + MC_2; references TASSEL_2.

--Kc2hiz 10:07, 16 January 2011 (CST)

Richb said ...

Hi,

I'm not sure if this is the right place for a (problem) question, but as there are so many other blogs & forums related to the MSP430 now, I thought I'd go straight to the source.

I've just received my Launchpad and downloaded and installed all the software as listed in this workshop and the Getting Started guide. However, when connecting via the USB interface, my PC (running WinXP SP3) detects the MSP430 Application UART, but fails to automatically install the driver for it as described under Hardware Setup (point 12) in the Getting Stated guide. Manually pointing the installation to the installed Code Composer Application also fails to find a driver. I've also searched TI's MSP430 websites to locate a driver, without success.

Please advise where I can obtain the USB driver for manual installation.

Thank you and Best Regards RichB

--Richb 21:17, 19 January 2011 (CST)

Richb said ...

Regarding my last comment - please ignore it. After posting, I installed the IAR Embedded Workbench and found the driver there.

Thanks again.

--Richb 21:36, 19 January 2011 (CST)

Notsane said ...

@Kc2hiz: Thanks! I fixed that in the latest rev

@Richb: Glad you found the issue!

--Notsane 19:46, 26 January 2011 (CST)

LPW1947 said ...

I have found what I believe are 2 errors in the Student Guide and Lab Manual: 1. When I got to page 2-14, I noticed that the Debug environments commands like "Run" and "Halt" were greyed out even though I was in the debug perspective. I checked the CCS user group and found an answer to a question similar to what I was seeing, that suggested selecting the "Debug" option under the "View" menu to make Run & Halt visible again. I did that and from that point on the system worked correctly. Perhaps the above solution should be in the Lab manual just in case the same thing happens to someone else. BTW I still don't understand how the options initiall got greyed out. 2. On page 1-12 the URL for MSP430G2xx User's Guide, leads to a page not found message. After doing a little research I found that there is a new document entitled "MSP430x2xx Family" with the URL: "http://www.ti.com/litv/pdf/slau144f". I assume this is the new user guide to be used. Am I correct.

--LPW1947 20:51, 26 January 2011 (CST)

Notsane said ...

@LPW1947 - I've never seen that behavior when in the debug perspective before. Dunno what to say about that. The link to the UG was out of date ... too bad TI doesn't just route the old link to the new. I updated the workbook. Thanks!

--Notsane 09:39, 1 February 2011 (CST)

Borisr said ...

Hi,

I beleive that I found couple of errors in "Getting Started with the MSP430 LaunchPad" Ver 1.2:

Pg 4-10 in code, Fault Routine - // P1.6 on (red LED) should be // P1.0 on (red LED)

Also I beleive the in order for red LED to be usable we need to set PDIR=BIT0; in fault routine or just after disabling WDT. Cheers.


--Borisr 05:42, 7 February 2011 (CST)

Notsane said ...

@Borisr: Good catch. That was a copy/paste error from the OPT_VLO.txt file. I fixed the workbook, doc files and lab install file. I left the version number alone. Thanks!

--Notsane 17:36, 8 February 2011 (CST)

Borisr said ...

No worries. I would though suggest that P1DIR=0x41; should be set before you check if Calibration data is erased, otherwise the call to FaultRoutine(); would happen before P1.0 is configured as output and red led will never go ON :).

Cheers...

--Borisr 05:38, 9 February 2011 (CST)

Watchout3 said ...

There is a wrong link in the DOC's/pdf (pdf: page 14, doc: msp430_mod01 page 12.) The description says "MSP430G2xx code examples:" but it points to slac080.zip which is for the MSP430F20xx.

slac080.zip is for the "MSP430F20xx"

slac463a.zip is for the "MSP430G2xx"

--Watchout3 03:53, 11 February 2011 (CST)

Notsane said ...

@Borisr: Right you are ... I fixed that in the pdf and lab files. Thanks!

@Watchout3: Good catch! I fixed that. Thanks!

New revision posted ... 1.21 Feb 2011

--Notsane 17:14, 11 February 2011 (CST)

Tcarnahan said ...

I have always wanted to learn digital electronics and microprocessors. This board looks like a way that a novice like me could get started.

However, it would really be helpful to see a list of what can be done with this board and its applications. One thing I am trying to do is to create the electronics for an onboard, model rocket flight computer. Initially this board would provide timing for the activation of a servo that would control the release of a parachute. Eventually, I would like to connect it to a sensor that could detect max altitude (or apogee) ... am I on the right track by starting with this board? Right now, it is hard for me to see the end of the tunnel. I imagine timing and controlling servos is easy, but could I take input from a magnetic field detector (to detect apogee) then release the parachute. Do such sensors exist? Does TI sell them? (This would be like a low power, miniture version of the MAD gear that TI sold the Navy). How do I get from A to B? Is it doable by a novice like myself?

--Tcarnahan 14:11, 20 February 2011 (CST)

Notsane said ...

@Tcarnahan: I can't really coach you very well here concerning learning about electronics and programming. The MSP430 is an easy family to learn, but you really need to pick up the basics first ... ohms law, soldering, how semiconductors work, C programming, etc ... there's lot's to know. There are plenty of courses out there to take ... I started in 8th grade, I'm 51 and I'm learning new stuff every day. Concerning your project, certainly an MSP430 could provide the little bit of brainpower needed to detect apogee on a model rocket. Most folks would choose a barometric altimeter rather than a magnetic device (I'm not sure how a magnetic sensor would help you) and the actuation component would likely be a solenoid rather than a servo (lighter and easier to control).

So, pick an online course, start with the basics and go from there. Sure you can find your way by trial and error, but you'll have a much firmer footing and something that can actually earn you a pretty good living. Good Luck! Scott

--Notsane 22:11, 22 February 2011 (CST)

Smithp said ...

For the rocket altitude, use an altimeter. Very small surface mount devices with I2C interface are available from Measurement Specialties. Check on the Model MS5611 at Meas-spec.com

--Smithp 14:23, 28 February 2011 (CST)

Tcarnahan said ...

The servo I would use weighs 9 grams and is commonly used by RC aircraft buffs. Could I get any lighter with a solenoid?


--Tcarnahan 15:10, 6 March 2011 (CST)

Notsane said ...

sub-micro servos run about 6g. But I've seen small, foam RC planes with "slap" actuators that weight less than a gram ... you might scavenge them from something like this http://www.amazon.com/RC-Airplanes-Airplane-Super-Sonic/dp/B002YQMCYA/ref=sr_1_32?ie=UTF8&qid=1299533711&sr=8-32

--Notsane 15:36, 7 March 2011 (CST)

JoelJustJoel said ...

Thanks, TI and Notsane, for putting together an awesome introductory LaunchPad workshop! Great job. I haven't gotten too far into it, but really like what I see so far. One question that comes to mind right off: I see you've graciously shared source code for the "Temperature demo GUI" in Java and some other language (.pde file extension?). Do you happen to know if anyone has a version floating aroundt that will run on MS Visual Studio, either C#, VB, F#, etc.? If not, it's probably pretty easy to port over because I prefer editing in that environment over Java. Thanks in advance.

--JoelJustJoel 17:08, 13 March 2011 (CDT)

Notsane said ...

@JoelJustJoel: Thanks for the nice words! I really appreciate them! I spoke with the folks that wrote the GUI ... here's what they said: "We currently don’t have any version that will run as-is on MS Visual Studio. The GUI was created using Processing (www.processing.org), which is an open source GUI-creation platform. As mentioned, it should be pretty easy to port, or even create from scratch, however we don’t have any version within the team here."


--Notsane 10:36, 15 March 2011 (CDT)

Kalpuwani said ...

personally I found CCS 4 (language used to program Launchpad) very difficult. Is there any alternate IDE for lanchpad which is simple like Arduino?? coding in ccs4 is a lot of pain. Dear TI guys, plz make a user friendly IDE for beginners (see Arduino IDE).it will make coding more fun. if such IDE already exist plz email me @ kalpuwani@gmail.com

--Kalpuwani 05:09, 1 April 2011 (CDT)

Notsane said ...

@Kalpuwani: I guess I don't quite understand your comment. Code Composer is the development environment, not the programming language. It's Eclipse-based, which is one of the most popular IDE platforms out there. I'd never heard of Arduino until you mentioned it.

As far as the programming language goes, the MSP430 is programmed in C or assembly. C coding is the industry standard ... learn it now or learn it later if you intend to program micro controllers for a living.

Code Composer isn't especially user unfriendly, and the lab steps will take you through each and every step needed to get started with the tool. As an Eclipse based tool, learning CCS will benefit you later if you intend to use another Eclipse based IDE.

TI supports CCS and IAR as MSP430 IDEs, but there are also others ... CrossStudio is an example. IAR kickstart (like CCS limited) would also be free for the Value Line parts.

Good luck! Scott

--Notsane 13:03, 4 April 2011 (CDT)

Harald said ...

Not much help for ASM-programmers here... E.g. How do you allocate different types of variables in assembler? Not any info on that subject at all anywhere (that makes sence and works!).


--Harald 17:00, 29 April 2011 (CDT)

DanRinkes said ...

Harald,

Check the MSP430 Assembly Language Tools User guide for help on writing Assembly. Refer to the Compiler and Assembler guide on interfacing C function calls to assembly implemented functions.

If you have specific questions, you should post in the forums at the link below For technical support please post your questions at http://e2e.ti.com. Please post only comments about the article Getting Started with the MSP430 LaunchPad Workshop here.

Good Luck!

--Dan Rinkes 15:53, 30 April 2011 (CDT)

Notsane said ...

Dan's right about the documentation. There is also an entire library of code examples written in both C and assembly at http://focus.ti.com/mcu/docs/mcuflashtools.tsp?sectionId=95&tabId=1538&familyId=342&DCMP=MSP430&HQS=Other+OT+msp430codeexamples . I won't get into why anyone would want to write in assembly when you can write in C with almost exactly the same memory footprint ...

--Notsane 12:41, 3 May 2011 (CDT)

Deyyoung said ...

After tinkering this morning with my MSP430 kit, I agree with the main point from Kalpuwani. The Arduino platform (open source platform for Atmel chips) is a whole lot easier to use and understand. The LaunchPad is a neat idea and I applaud TI for the innovation, but I'm very disappointed that so much assembly language seems to be needed.

--Deyyoung 11:14, 12 July 2011 (CDT)

Notsane said ...

@ Deyyoung: I'm not sure what assembly language you mean. None of the lab examples use any assembly language at all ... it's all in C. As for the development platform you mentioned, the web site shows that it is intended for beginner and low-end use. Code Composer is one of several full-featured Eclipse-based development tools available. Combined with a knowledge of the C programming language, it will take you wherever you want to go if you take the time needed to come up to speed.

--Notsane 16:04, 19 July 2011 (CDT)

Khiya said ...

Hello! I'm just getting started with the MSP430G2231 in the LaunchPad Kit using CCS. I'm following Lab 3 in the Getting Started Workshop (http://software-dl.ti.com/trainingTTO/trainingTTO_public_sw/MSP430_LaunchPad_Workshop/LaunchPad.pdf) and I can't locate my msp430g2231.h header file anywhere on my computer. Was it a file I needed to specifically download? Where could I go to get it now? Much appreciated, -Khiya

--Khiya 14:18, 1 August 2011 (CDT)

Notsane said ...

If you have CCS installed, you should find the header file in C:\Program Files\Texas Instruments\ccsv4\msp430\include

--Notsane 10:42, 2 August 2011 (CDT)

Srk said ...

Kindly let me know the link to the example application?

--Srk 18:06, 6 August 2011 (CDT)

Srk said ...

got it... http://dl.dropbox.com/u/9458154/LaunchPad_Temp_GUI.zip

--Srk 18:15, 6 August 2011 (CDT)

Notsane said ...

Page 1-12 of the workbook has the link for the Temperature demo source files: http://www.ti.com/litv/zip/slac435

--Notsane 14:03, 8 August 2011 (CDT)

Aman34 said ...

The link for temparature demo source (www.ti.com/lit/zip/slac435) seems to be broken. There is a typo there, it actually links to litv/zip/... , but even after I typed the correct address, it did not work. Can you please provide the correct address?

--Aman34 09:49, 19 September 2011 (CDT)

Notsane said ...

The comment left by Srk has a dropbox address that still works. I can't find it either right now other than that address.


--Notsane 09:39, 20 September 2011 (CDT)

Lienmeister said ...

Broken link on item number 5, the temperature GUI.  Where can I find it?

--Lienmeister 21:49, 14 November 2011 (CST)

Notsane said ...

I corrected the link by uploading a copy to my storage on this wiki.

--Notsane 07:11, 15 November 2011 (CST)

Granzeier said ...

@Notsane, Nice work! I just downloaded and printed the manual and will be viewing the videos and working through the workshop in the next few days. Thanks for your work.

@Tcarnahan - Regarding the on-board computer for a rocket.

You may want to consider a simple accelerometer; Nuts and Volts published in a column from Scott Edwards (www.parallax.com/dl/docs/cols/nv/vol1/col/nv12.pdf) where Scott quotes a letter from the Technology Coordinator of a School near me. In his article, Scott shows how a simple accelerometer can be built and connected to the BASIC Stamp (another controller.) You could possibly adopt this to your Launchpad/Rocket system.

--Granzeier 17:44, 1 December 2011 (CST)

Granzeier said ...

@Notsane, Nice work! I just downloaded and printed the manual and will be viewing the videos and working through the workshop in the next few days. Thanks for your work.

@Tcarnahan - Regarding the on-board computer for a rocket.

You may want to consider a simple accelerometer; Nuts and Volts published in a column from Scott Edwards (www.parallax.com/dl/docs/cols/nv/vol1/col/nv12.pdf) where Scott quotes a letter from the Technology Coordinator of a School near me. In his article, Scott shows how a simple accelerometer can be built and connected to the BASIC Stamp (another controller.) You could possibly adopt this to your Launchpad/Rocket system.

--Granzeier 21:12, 1 December 2011 (CST)

Spfoster said ...

I'm working on Lab 3 and my launchpad came with the G2553 instead of the G2231. Is this a permanent change? If so I can't get the code supplied for lab 3 or the code that we're supposed to write to work on this device. The first portion where we write the Lab3a.c file works ok but the second part does not. I had to change the header file included to the G2553.h file to get part a to work. If this is a permanent change this may be an error in the manual.

--Spfoster 00:19, 27 December 2011 (CST)

Notsane said ...

This sounds like a kitting mistake. That part is 20 pins and has the PinOsc feature ... it's not the normal part in the kit. --Notsane 08:26, 27 December 2011 (CST)

Sjhorsch said ...

I recently bough one too and got the 2553 and the 2452. I looked it up and they did change the kit just recently.

I am also having problems with the lab.

--Sjhorsch 19:13, 7 January 2012 (CST)

Notsane said ...

I'm sure that you would have issues with the labs ... those aren't the parts the labs were written for. I'm doing some checking on this ...

--Notsane 09:38, 9 January 2012 (CST)

Notsane said ...

Alright, here's the deal. Version 1.5 of the kit has updated the devices included to the MSP430G2553 and MSP430G2452. The pinout at J5 has been swapped. Now when the jumpers are horzontal the H/W UART is enabled, when vertical, the S/W UART is enabled. I will be updating the workshop shortly to use CCS 5.1 and both part revisions of the boards.

--Notsane 11:39, 9 January 2012 (CST)

Jmuthe said ...

Hello, My name is Justin. I studied electronics in college several years ago and even did a little programming with C++ but I never used C++ to control a microprocessor. I still have my original textbook but I don’t think the book has that information to control a microprocessor. I never learned how to program in C although I hear it is similar to C++. I recently bought a MSP430G2231 Launchpad and downloaded Code Composer Studio. I saw some sample programs and ran them. The programs worked but I don’t really understand the source code that much. I tried reading various manuals on the TI website to understand how to write C programs for Code Composer Studio for my launchpad and I found plenty. However, they are all written using a lot of technical jargon that I don’t really understand. To make it worse, a lot of these manuals are hundreds of pages long. I would definitely read them if I thought they would be helpful to me. However, I don’t want to read a 600 page manual just to realize that I don’t understand anything written on it. What’s even worse is that I want to read just one manual at a time. However, as I am reading one manual it gives me a link to another long manual and tells me to read the other one simultaneously. The process is exhausting me because I feel like I am learning nothing.

I am looking for just one book that I could read that could explain to me how to write C code in CCS for my MSP430G2231. I want it to teach me how to understand each line of source code rather than just cut and paste sample programs and run them. I also want it to be written for a beginner, that is not familiar with using C programming with microprocessors, so that they could easily understand it. It would be nice if it were a type of “Idiot’s Guide to C Programming with CCS for MSP430G2231 Launchpad.” If something like that exists then could you tell me what it is and where I can find it. If a book like that doesn’t exists then could you tell me step by step how I can learn how to achieve my goal. Thank You.  


--Jmuthe 22:00, 9 January 2012 (CST)

Jmuthe said ...

I am sorry about the second paragraph of the last post. It seems that when I posted it the second paragraph printed in just one long line. I don't know why. Here is the same message but I hope it is easier to read. My name is Justin. I studied electronics in college several years ago and even did a little programming with C++ but I never used C++ to control a microprocessor. I still have the original book but I don’t think the book has that information to control a microprocessor. I never learned how to program in C although I hear it is similar to C++. I recently bought a MSP430G2231 Launchpad and downloaded Code Composer Studio. I saw some sample programs and ran them. The programs worked but I don’t really understand the source code that much. I tried reading various manuals on the TI website to understand how to write C programs for Code Composer Studio for my launchpad and I found plenty. However, they are all written using a lot of technical jargon that I don’t really understand. To make it worse, a lot of these manuals are hundreds of pages long. I would definitely read them if I thought they would be helpful to me. However, I don’t want to read a 600 page manual just to realize that I don’t understand anything written on it. What’s even worse is that I want to read just one manual at a time. However, as I am reading one manual it gives me a link to another long manual and tells me to read the other one simultaneously. The process is exhausting me because I feel like I am learning nothing. I am looking for just one book that I could read that could explain to me how to write C code in CCS for my MSP430G2231. I want it to teach me how to understand each line of source code rather than just cut and paste sample programs and run them. I also want it to be written for a beginner, that is not familiar with using C programming with microprocessors, so that they could easily understand it. It would be nice if it were a type of “Idiot’s Guide to C Programming with CCS for MSP430G2231 Launchpad.” If something like that exists then could you tell me what it is and where I can find it. If a book like that doesn’t exists then could you tell me step by step how I can learn how to achieve my goal. Thank You.


--Jmuthe 22:05, 9 January 2012 (CST)

Notsane said ...

@Jmuthe -

It would be nice if their were an easy way to do this stuff, but there really isn't. No single book could possibly give you all the information that you need to do this right.

You can approach learning this from two directions; A)start from the top and learn only what you think you need to know or B)start from the bottom learning the underlying technologies. A is what you do to be a hobbyist, B is what you do to become an engineer and earn real money.

I pick starting from the bottom up.

I'm reminded of the rule for writing good C code ... 1) you need to understand the hardware 2) you need to understand the compiler 3) you need to understand the software.

So my suggestions would be ...

Hardware:Take an electronics class to understand Ohm's law and basic electronics. Learn how to use a multimeter, an oscilloscope, a logic analyzer. Then pick a processor to work with ... the MSP430 is a fine choice because it's a reduced instruction set (RISC) computer. Look at the assembly language guide ... write a little assembly code. C code compiles to assembly. You need to know what assembly is to know what the C compiler is doing.

Compiler: Look at the C Compiler Guide. How does it take a piece of C code and translate it into 1 or more lines of assembly code?

Software:Take a class on basic C programming. Pick apart the example code that's provided. Remember that embedded programming, like for microprocessors with limited memory and resources is wildly different than programming a PC running at 3+ GHz with 8GB of memory.

Colleges all over have ciriculums to take you in this direction. From there you can go just about anywhere.

I started my first electronics course in high school in 1975 and I've never stopped learning.

Good Luck!

Scott

--Notsane 08:40, 10 January 2012 (CST)

PeterD said ...

This workbook and videos were a great help.

However the Lab6c has many problems. In the "Getting Started with the MSP430 LaunchPad" on page 6-19 there is a diagram showing the operation of power optimised ADC cycle.

The timer is running on 12kHz VLO to generate 3 second cycle time. Therefore the timer has 83 microsecond resolution.


I do not understand how one can create a 30 microsecond delay for the reference settling time using the VLO.


--PeterD 17:55, 10 January 2012 (CST)

Notsane said ...

As long as the delay is greater than 30mS there isn't an issue. What are the other "many problems"?

--Notsane 18:15, 10 January 2012 (CST)

PeterD said ...

The intent of the Lab6c code is clearly illustrated in the diagram on page 6-19.

The code however creates 8300 microsecond delay instead of 30 microseconds. (100 12kHz cycles)

This wastes more then 95% of the power.

A simple _delay_cycles(30) @ 1MHz clock uses less power. Further optimization is possible.

--PeterD 16:42, 12 January 2012 (CST)

Notsane said ...

I'm revising the workshop now and I'll keep an eye out for what you're describing.

--Notsane 17:09, 12 January 2012 (CST)

Notsane said ...

@PeterD ... I went back over all the labs in the process of updating everything to CCS 5.1. Concerning the low-power lab steps, there was a lot more right than there was wrong. The largest optimization is running the sampling delay using the timer running off the ALCK (VLO) ... this is 99% of any possible power optimization. The next optimization is the 30uS timing for the reference settling. The timer is running off ACLK and has a 83uS resolution as you pointed out. But you can't use SMCLK since LPM3 turns this off. In everyday practice a software delay is used ... that comes closest to the right timing and uses about the same power as setting up a timer to time a single ACLK tick. The last delay is the converstion delay. Even though this one is only 13 ticks of the ADC clock, the available ADC interrupt makes using it a no brainer. I think my latest code is about as far as you can go, and only a tiny bit better than the previous code.

Scott

--Notsane 22:17, 24 January 2012 (CST)

Hacker1 said ...

I'm going through the Launchpad workshop PDF, and have come to Chapter 10 - Capacitive touch section. I have the MSP430G2553 (version 1.5 of the Launchpad), and it appears the lab exercise has not been updated from the 2452 version. The exercise call for importing the Lab10a - 2553 Eclipse Project, but I only have Lab10a in the directory. Where can I find the correct target files for compiling and linking onto the 2553 device?

--Hacker1 13:58, 13 April 2012 (CDT)

Notsane said ...

I just double check ed the workbook pdf here ... and it has instructions for both the 2452 and 2553 devices. I also checked the lab files and found that there are Lab10 folders for 2542 and 2553 devices. Are you sure that you have the latest material?

--Notsane 14:11, 13 April 2012 (CDT)

Hacker1 said ...

Thanks for clearing that up. I just downloaded version 2.01 of the Workshop, and it appears the directories are correct. Thanks.

--Hacker1 14:41, 13 April 2012 (CDT)

Notsane said ...

Have fun .. that's a cool lab ...

--Notsane 14:43, 13 April 2012 (CDT)

Pftate said ...

I'm doing the Workbook Lab10a. Lab 10 went great. Lab10a builds and loads the watch values change, but measurement never gets to a value that triggers a response. It doesn't seem to respond to my touch, or not much. proximityCnt starts ~35000 and drops to ~34000. I don't have the crystal soldered on my board could that be the problem? Thanks,

--Pftate 20:12, 12 June 2012 (CDT)

Notsane said ...

That response seems abnormally low. I don't think that the 32KHz crystal has any bearing on the lab. Make sure that you're using the '2452 or '2553 and use the correct file for the part you choose. Double check the orientation and position of the Capacitive Touch board on the LaunchPad board. I've taught this material a hundred plus times ... you should get something close to the numbers in the lab.

Scott

--Notsane 10:49, 13 June 2012 (CDT)

Pftate said ...

The first Lab 10 code works fine with the same board and cap shield, so the hardware must be correct. I have already deleted the project and reloaded making sure it is the 2553 version. I thought perhaps a header entry would need be changed if the crystal was not installed, but again the first lab 10 project worked fine, just 10a is not working. It builds and runs and values change, they just never trigger a response - like the sensitivity is too low.

--Pftate 16:26, 13 June 2012 (CDT)

Kazzz said ...

I'm currently working on Lab 3 on page 3-16. I have verified my code a good few times and have even cut and pasted in teh provided code but the program is getting stuck. The point at which it freezes is in by the arrow.

while(IFG1 & OFIFG) // wait for OSCFault to clear {

    ->   IFG1 &= ~OFIFG;
         _delay_cycles(10000);

}

I have used the watch window to see what id happening. IFG1 does not change value and OFIFG is "identifier not found". I have tried ANDing IFG1 with 0 but it's still holding at this point. Any suggestions would be great.

--Kazzz 11:47, 6 September 2012 (CDT)

Notsane said ...

If your code is getting stuck there it's because the oscillator fault never clears. I'd suspect that you're running the crystal code when you never soldered the crystal onto the board.

--Notsane 14:19, 14 September 2012 (CDT)

Personal tools
Namespaces
Variants
Actions
Navigation
Print/export
Toolbox