Jump to content

kpetrinak

Members
  • Content Count

    8
  • Joined

  • Last visited

  1. Ermahgerd... Thank you for your patience and willingness to help a total noob. I've spent a lot of hours trying to get an LCD to work with a TI board, when in fact it was so simple. Thank you very much for helping, Rei Vilo and FMilburn. For the other noobs in my position, instead of using Serial.write (which writes to serial monitor) use Serial1.write to write to TX(1) pin or Serial2.write to write to TX(2) pin, etc...
  2. Thank you for replying Rei Vilo! How can I configure communication on a hardware serial port in energia?
  3. Is there a way to use the SoftwareSerial library on the Stellaris Launchpad TM4C123GXL board? I am trying to connect a Sparkfun serial enabled LCD screen to the board but the SoftwareSerial library is only compatible with 20, 16, and 8 MHz processors, and the TM4C123GXL is an 80 MHz chip. How can I use this LCD screen with the Stellaris Launchpad over a UART connection? Do I need to use SoftwareSerial or can I do without it? I am programming in Energia 0101E0017 on Windows 7 64 bit. Any help is greatly appreciated, thanks!
  4. Thanks for the replies! I used the code suggested by @@energia, it seems to work a little longer but still cuts out after a variable amount of time! Every time I upload the code it works for about 5 seconds.
  5. I have a Spikenzie Labs LCD screen with an interface (screen utilizes the HD44780 chipset). I have it connected to an MSP-EXP432P401R (Rev 1.0). I have finally got code working that allows me to write to the LCD screen through the serial monitor, however I can only write to the screen for a short but varying amount of time. Sometimes I can print to the screen for 5 seconds, sometimes only for 1 second before communication cuts out. Here is the code I am using: #include <Wire.h> #include <LiquidCrystal.h> #define addr 0x40 >> 1 void setup() { Wire.begin(); Serial.begin(9600); } void loop() { Wire.beginTransmission(addr); Wire.write(Serial.read()); Wire.endTransmission(); } My connections are as follows: LCD screen -> MSP432 VCC -> 5V GND -> GND SDA -> pin 10 SCL -> pin 9 I have also tried using a level shifting circuit on the data lines with no effect. Does anyone know what's going on and what I can do to fix this? Thank you
  6. kpetrinak

    Connecting MSP432 to 1602 LCD via I2C

    I'm aware of this inconsistency, most other resources I have seen state that 0x20 is used for 16x2 screens. 0x20 is also the only address that will give me any output at all
  7. kpetrinak

    Connecting MSP432 to 1602 LCD via I2C

    Update: I took the advice of level shifting the SDA and SCL data lines. I constructed the MOSFET circuit that was recommended by Rei Vilo's link above, the output to my LCD screen remained the same. I've double and triple checked my mosfet circuit and it seems correct. Still stuck. Unfortunately this is a time sensitive issue, and any help is greatly appreciated. Thanks
  8. kpetrinak

    Connecting MSP432 to 1602 LCD via I2C

    Also having trouble making an MSP432 communicate with an LCD screen, have tried many things to no avail. Here's some info: Launchpad MSP432P401R Rev 1.0 Using Energia 0101E0017 on Windows 7 64-bit LCD Screen is a SpikenzieLabs w/ interface (LCD, INTERFACE) (uses the common HD44780 chipset) I'm trying to implement simple code to reduce the complexity of troubleshooting, here's the code I'm using: #include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x20,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line display void setup() { lcd.init(); // initialize the lcd // Print a message to the LCD. lcd.backlight(); lcd.print("Hello, world!"); } void loop() { } I've provided a picture of my set up and results after uploading the code one time: http://imgur.com/HbwLOt0 My thoughts: After every iteration of uploading the code, the screen outputs one iteration of: 040040040 $ $ I've tried many different I2C addresses that I have seen suggested throughout the forums, and tried running an I2CScan program to find the actual address (couldn't make I2CScan work on the 432). The only result I get, as seen above, is with an address of 0x20. My interpretation of the resulting output to the LCD screen is this: I2C addresses are 7-bit, plus an 8th bit to indicate read or write status. The 8th bit is added as the LSB of the address. After a 0 (for write) is added to the address 0x20, the result is 0x40. Is this why the screen is displaying 040? Or am I wrong in thinking this? Can someone tell me what is wrong, or if I am doing something wrong here? Any help is appreciated greatly! (Does this come down to stepping up the voltage of the data pins as stated above?)
×