embedded http://www.embeddedrelated.com en-us Copyright 2011, EmbeddedRelated.com. http://cdn.embeddedrelated.com/images/ logo.jpg embedded http://www.embeddedrelated.com 436 57 <![CDATA[This is a test!]]> Testing the new open mic section...... read more]]> Tue, 18 Jun 2013 16:11:42 -0400 EmbeddedRelated.com last blog entries <![CDATA[MSP430 Launchpad Tutorial - Part 2 - Interrupts and timers]]> What is an "interrupt"? It is a signal that informs our MCU that a certain event has happened, causing the interruption of the normal flow of the main program and the execution of an "interrupt routine", that handles the event and takes a specified action. Interrupts are essential to avoid wasting the processor's valuable time in polling loops, waiting for external events (in fact they are used i... read more]]> Mon, 17 Jun 2013 08:11:39 -0400 EmbeddedRelated.com last blog entries <![CDATA[Implementation Complexity, Part II: Catastrophe, Dear Liza, and the M Word]]> In my last post, I talked about the Tower of Babel as a warning against implementation complexity, and I mentioned a number of issues that can occur at the time of design or construction of a project. The Tower of Babel, Pieter Bruegel the Elder, c. 1563 (from Wikipedia) Success and throwing it over the wall OK, so let's say that the right people get together into a well-functioning team, and... read more]]> Sun, 16 Jun 2013 18:19:57 -0400 EmbeddedRelated.com last blog entries <![CDATA[An Introduction to Embedded Development]]> This blog is a series to provide an introduction to embedded development for the aspiring embedded developer. No prior embedded development experience will be assumed, but you should have a reasonable understanding of the C language and knowledge of basic electronics. It will focus on the TI MSP430, but present topics in a generic way that can be easily translated to other processors. ... read more]]> Fri, 14 Jun 2013 15:34:49 -0400 EmbeddedRelated.com last blog entries <![CDATA[MSP430 Launchpad Tutorial - Part 1 - Basics]]> TI's LaunchPad is a complete MSP430 development environment: all you have to do is download and install CCS IDE (login required), connect your G2231-ready LaunchPad to your computer with the included mini-usb cable, and you are ready to code! Texas Instrument MSP430 LaunchPad So, let's see how to start a new project in Code Composer Studio. This IDE is derived from Eclipse, so if you used it b... read more]]> Fri, 14 Jun 2013 10:31:17 -0400 EmbeddedRelated.com last blog entries <![CDATA[Implementation Complexity, Part I: The Tower of Babel, Gremlins, and The Mythical Man-Month]]> I thought I'd post a follow-up, in a sense, to an older post about complexity in consumer electronics I wrote a year and a half ago. That was kind of a rant against overly complex user interfaces. I am a huge opponent of unnecessary complexity in almost any kind of interface, whether a user interface or a programming interface or an electrical interface. Interfaces should be clean and simple. No... read more]]> Sun, 09 Jun 2013 14:12:12 -0400 EmbeddedRelated.com last blog entries <![CDATA[Free Embedded Systems Books]]> Following the success of the Collaborative Writing Experiment: What are your favorite Embedded Systems Online Resources? blog post, let's try a second collaborative writing experiment.  This time, let's work on a file that will list the best embedded systems books that are available online for free.  I am not talking about books that are illegally made available for download by pirates, ... read more]]> Tue, 28 May 2013 14:38:17 -0400 EmbeddedRelated.com last blog entries <![CDATA[[ C Programming Techniques: integer type optimization ]]]> I am currently working on a voltage controller running on a ATMEGA328P, ATMEL AVR 8 bits microcontroller. The controller logic is implemented in the main() routine and relies on a periodical timer whose frequency is fixed at application setup. Among other things, the timer ISR handler increments some per tick counters which are then used by the main routine to implement the voltage controller timi... read more]]> Wed, 22 May 2013 06:20:59 -0400 EmbeddedRelated.com last blog entries <![CDATA[Endianness and Serial Communication]]> Endianness is a consideration that is easily overlooked in the design of embedded systems. I myself am amply guilty of this oversight. It’s something you don’t ever have to worry about if you’re only working with a single processor or two processors that have the same endianness.  You can even avoid it if you have two processors that have different endianness but never trans... read more]]> Mon, 20 May 2013 20:35:56 -0400 EmbeddedRelated.com last blog entries <![CDATA[Collaborative Writing Experiment: What are your favorite Embedded Systems Online Resources?]]> Edit 22/05 - Wow, this went better than expected.  I will try submitting this blog post to Reddit/ece and see if we can get a few more interesting links before I close the document.  Thanks to everyone who contributed!   _______ Edit 28/05 - The document is now closed to editing.  If there is a link that you would like to see added, please use the comment system at the end of... read more]]> Mon, 20 May 2013 15:59:58 -0400 EmbeddedRelated.com last blog entries <![CDATA[Interfacing LINUX with microcontrollers]]> Introduction I am increasingly asked to work on small spare time projects where a user needs to control some device over the INTERNET. Recently, a friend needed to control heater relays and measure the temperature of its geographically distant secondary house. Another case relates to the control of a pan tilt home monitoring camera. A last one is the control of an old XY plotter DACs. In both ap... read more]]> Tue, 07 May 2013 05:06:12 -0400 EmbeddedRelated.com last blog entries <![CDATA[C Programming Techniques: Function Call Inlining]]> Introduction Abstraction is a key to manage software systems as they increase in size and complexity. As shown in a previous post, abstraction requires a developper to clearly define a software interface for both data and functions, and eventually hide the underlying implementation.When using the C language, the interface is often exposed in a header '.h' file, while the implementation is put in ... read more]]> Mon, 29 Apr 2013 14:53:51 -0400 EmbeddedRelated.com last blog entries <![CDATA[Isolated Sigma-Delta Modulators, Rah Rah Rah!]]> I recently faced a little "asterisk" problem, which looks like it can be solved with some interesting ICs.  I needed to plan out some test instrumentation to capture voltage and current information over a short period of time. Nothing too fancy, 10 or 20kHz sampling rate, about a half-dozen channels sampled simultaneously or near simultaneously, for maybe 5 or 10 seconds. Here's the "asteri... read more]]> Thu, 25 Apr 2013 02:38:33 -0400 EmbeddedRelated.com last blog entries <![CDATA[Success Story]]> A blog post has just broken the all-time record for the number of pageviews in 24 hours on the related sites. The blog post in question is titled Data Hiding in C and was written by Stephen Friederichs.  It has been viewed by more than 7000 individuals since its publication a few days ago.   One reason that explains the success of this blog post is the wide appeal of the subject of the ... read more]]> Wed, 24 Apr 2013 13:48:15 -0400 EmbeddedRelated.com last blog entries <![CDATA[Data Hiding in C]]> Strictly speaking, C is not an object-oriented language. Although it provides some features that fit into the object-oriented paradigm it has never had the full object-oriented focus that its successor C++ offers. Although it’s far from my favorite language C++ introduced some very useful concepts and abilities that I miss when I’m developing in ANSI C. One such concept is protected me... read more]]> Sat, 20 Apr 2013 20:27:40 -0400 EmbeddedRelated.com last blog entries