Jump to content

Very Basic HD44780 driver for Stellaris LaunchPad

Recommended Posts

Dear ladies and gentlemen,


Thanks very much for the support and the improvisations. As I'm a pretty busy dude, my Stellaris playtime has been reduced a bit. I'll come back to playing the Stellaris when I got the time.


Keep the improvisations coming, and have a Happy Christmas and Merry New Year too. :)

Share this post

Link to post
Share on other sites

Hi , Thanks for help. I have another problem,  I used a display 8X2 and did not work the second line just the first, I do not Know if this code work for this display, and I have tested in another aplictation and display is ok







Share this post

Link to post
Share on other sites

It doesn't use Port D as an output. From my understanding the code does nothing with Port D so putting it as an output to the LCD you should get nothing.


But anyways I am having problems trying to get my LCD display working. It is a 16x2 display. I have tried using 3 different programs to run it. One being the one given here, also tried the program given here http://forum.stellarisiti.com/topic/384-simple-hd44780-library-without-driverlib/ And also tried modifing a program for the LM3SXX microcontroller. All of which seemingly do nothing to the LCD.


Turning on the LCD I get the boxe's as "remick" was getting originally. I have the R/W grounded and I cannot change anything on the LCD display, cant even clear it. I tried using 2 different microcontroller boards and two different LCD display's and get the same thing.


I am trying to run the code in the CCS Debugger, and I am not sure if it is working properly. I had the microcontroller runing the Project 0 before and when I Debuged the LCD Display the microcontroller Blue LED stay's on. I noticed in all your pictures the build in LED's on the microcontroller are not on. I'm not sure if this has anything to do with the problem or not I am just confused.

Share this post

Link to post
Share on other sites

Is there a specific reason you use Port B for the RS and E signals? Is it possible to put these on another Port?


I would guess that Port B was used because it is the only full width port that is easily available on the launchpad.  

(Doesn't have some of the pins devoted to special functions).


It would be fairly easy to put them on another port - just rewrite the code a little.

e.g. define a new port macros for LCDPORT_RS and LCDPORT_E

run through the code and every place it does a pin write to RS or E, replace LCDPORT with the appropriate one of the above macros.

In the beginning of initLCD, enable the other port(s) and set E and RS as output.

The code in beginning of initLCD would wind up something like this


        GPIOPinTypeGPIOOutput(LCDPORT, D4 | D5 | D6 | D7);
        GPIOPinTypeGPIOOutput(LCDPORT_E, E);


Share this post

Link to post
Share on other sites

Okay, that was what I was thinking, but the two examples I've seen both used those Port B pins even though they used different data pins.


I wanted to use Port B for other functions and all the pins there are currently taken up. I'm writing my own code based on the example here and am going to rewrite the macros to use Port A instead.


The end goal is to be able to write to shift registers serially and then output them in parallel to matrixes of LEDs.

Share this post

Link to post
Share on other sites

Hi im new with TI launchpads and im having problems trying this lib with the TivaC TM4C123GH6PM.
Im getting errors like:
*#20 indentifier "int32_t" is undefined

*#20 indentifier "bool" is undefined<--resource  lcd44780_LP.c

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