Jump to content
dukevimto

Make use of that Launchpad now you build on breadboard

Recommended Posts

So you now build all of your projects on breadboard, and the Launchpad just gets used as a progammer/debugger adaptor. The 20 pin DIP socket gahters dust.

I have put this to use by writing a SPI-UART adaptor that runs on a 2553 in the DIP socket, while using the Launchpad to debug my project.

The project code can thus output console data using a bit-banged SPI output. This only consumes port pins, no timers or UARTS, and is not timing-critical, as the data output is synchronous.

 

This shows how you would use it:

post-33323-0-99371500-1380489169_thumb.jpg

 

... and here it is on my desk...

 

post-33323-0-60620600-1380489172_thumb.jpg

 

Code is at https://github.com/shufflebits/SPI-Adaptor-2553

 

The code incorporates a self-test mode, so you can check that the UART link is working correctly. Just put links on where I have blue links here:

post-33323-0-12555200-1380489175_thumb.jpg

 

This enables a test output on P1.4 and P1.6.

Set the COM port to 9600,n,8,1.

 

In normal operation, the red LED on P1.0 indicates when data is being received, and the green LEN on P1.6 indicates when the SPI input is reset.

To explain: Since with a synchronous link, a single missed clock pulse will screw up all data received in the future, the code resets the SPI receiver after a second of idle time. This idle time-out is shortened by pressing S2 (P1.3).

 

You may find it worth while to add a pull-down resistor on your target on the SPI clock out, as when it floats on reset you get spurious data.

 

Code for the bit-banged SPI output can be found in printf.c and printf.h. Edit printf.h to define which ports will be used for output. Props to opossum for the original printf code, which I'm sure has been copied by just about everybody!

Share this post


Link to post
Share on other sites

I'm sure your photo is enough for more experienced people than me, but I can't quite see what's going on on the breadboard. Do you have a diagram? Thanks.

Share this post


Link to post
Share on other sites

Thanks. I saw a capacitor (bigger than I expected), and a transistor which appeared to be be linked (maybe for debug reasons) to P1.5. I couldn't see where the transistor collector pin went, and then I noticed the LED & the resistor which looked like it wasn't connected...and I gave up!

Share this post


Link to post
Share on other sites

Update - bugfixed code!

 

I checked in my revised version to GitHub. This adds a resistor pulldown to the clock input, changes to MSB-first to be compatible with the nRF radio chips, and fixes a bad pin for the test output.

 

HINT: If you edit the GPIO pins in the P1/P2 section in Grace, and make a mistake, it doesn't fix it when you then edit them in the other modes!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×