This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Any Simple Projects for a Beginner?

Hello all,

 

I am new to programming in general. Please consider me on the same level as someone who started learning C programming a month back (I had learned it a couple of years back but then didn't use it much). I am not bad at it, but I want to start from the very basics and build a strong foundation in embedded programming.

However,  I am a very fast learner and I am quite excited about MSP430. I have not done much of embedded programming. I was wondering if there are any simple projects for the beginners?

Most of the projects I have seen assume that the user has a strong understanding of C. However, for someone who is also learning C, are there any good projects you suggest?

I have also studied microcontrollers at undergraduate level a few years back. However, they never taught us about spec sheets and how to change register values and find bugs and problems. I know about ports and hex representation, but not much about how JTAGs and LDOs (I have limited knowledge).

Any help will be appreciated. I was thinking about doing a small project and learning in the process. So I was hoping that I can first select a project and then post my code here regularly and have people help me out.

Looking forward to advices, suggestions and lots of learning!

 

Thank you very much!

Sincerely,

Silver

  • Hi Silver,

    TI has:

    - a large selection of code example: http://focus.ti.com/mcu/docs/mcuflashtools.tsp?sectionId=95&tabId=1538&familyId=342

    - lots of code examples http://focus.ti.com/mcu/docs/mcuprodtechdoc.tsp?sectionId=95&tabId=1202&familyId=342&techDoc=1&docCategoryId=1&viewType=mostrecent

    Look at the lauchpad (http://focus.ti.com/docs/toolsw/folders/print/msp-exp430g2.html) it sells for $4.30 and is ideal for getting started with the MSP430.

    In additon to the above, the is a nice workshop on how to get started http://processors.wiki.ti.com/index.php/Getting_Started_with_the_MSP430_LaunchPad_Workshop

    Rgds
    aBUGSworstnightmare

     

  • Thanks a lot aBUGSworstnightmare. Those links seem quite helpful. And Launchpad is cheap!!! :-D

    Also, if the source code works for the launch pad will it work for other microcontrollers which are better than it (for compatibility in future)??

    Like maybe F5438 or the Chronos watch or the F6137 (with CC430) for RF projects?? Of course, minor changes have to be made based on the architecture, but the code should mostly work. am I right?

    I will start with one of the projects right away and will post my doubts in near future! :)

     

    Thanks again.

    -Silver

  • FYI, I've been using the Chronos and the EM900 kit and they are X-compatible barring some I/0 assignments.  My guess is you'll find the same with the Launchpad.

    I took C about 15 yrs ago, no practice, then just started last month, so you can do it!  My project is done except now just cleaning code and simplifying (functions).  Definitely learn bitwise operations for setting, testing, and clearing individual bits:

    P2OUT |= BIT3;                     // Red LED On
    P2OUT &= ~BIT7;                 // Green LED Off - very useful for setting just a few bits in the control registers too!
    P2IES ^= BIT6;                      // Toggles Bit 6 (changes edge triggering on the port so I catch the interrupt on both edges)     

    if (P2IN & !BIT6)                   // ! is also cool. Notice no semicolon... and brackets if you need more than one line
    {
    }

    if ((Data_Buffer[2] == 1) && (P2IN & BIT6)) // Notice the double == and && because single uses actually assigns the new values.

    Take your time reading and work through each problem no matter how long it takes... you will learn 50 more things in the process!

    Hope it helps, and good luck!

    John

  • Silver Razor said:
    Also, if the source code works for the launch pad will it work for other microcontrollers which are better than it (for compatibility in future)

    Often, yes, sometimes not or only partially.

    The problem is that these demos often do something 'smart' that only works with some inherent features of a specific device. Such as two signals routed to the same port pin (and therefore maybe internally connected) on one MSP but not on the other (you'll need to add an external connection and change the port configs then).
    And too often these inherent features are not well documented (or not at all).

    So it's better to understand how these things are working and build your own code than just absorbing them into your projects.

**Attention** This is a public forum