Jump to content

energia serial monitor not working

Recommended Posts


I'm try to use msp-exp430g2553et launchpad with energia

but the serial monitor doesn't work.

I'm using the example code:(One Wire DS18X20_temperature)

I found it need to change RXD TXD but I changed it display "no more addresses"

please help, thanks!





Link to post
Share on other sites

"No more addresses." means it can't find the sensor. Also, it seems that you wired the sensor to 5v. Note that the MSP430 I/O's are _not_ 5v tolerant. The sensor might have put 5 volt on the line damaging the I/O. Also, if the sensor module you are using is a 5v one, it might not detect the 3.3v signal levers the MSP430 put's out.

Do you have a link to the DS18X20 module you are using?


Link to post
Share on other sites
#include <OneWire.h>

// OneWire DS18S20, DS18B20, DS1822 Temperature Example
// http://www.pjrc.com/teensy/td_libs_OneWire.html
// The DallasTemperature library can do all this work for you!
// http://milesburton.com/Dallas_Temperature_Control_Library

OneWire  ds(10);  // on pin 10 (a 4.7K resistor is necessary)

void setup(void) {

void loop(void) {
  byte i;
  byte present = 0;
  byte type_s;
  byte data[12];
  byte addr[8];
  float celsius, fahrenheit;
  if ( !ds.search(addr)) {
    Serial.println("No more addresses.");
  Serial.print("ROM =");
  for( i = 0; i < 8; i++) {
    Serial.write(' ');
    Serial.print(addr[i], HEX);

  if (OneWire::crc8(addr, 7) != addr[7]) {
      Serial.println("CRC is not valid!");
  // the first ROM byte indicates which chip
  switch (addr[0]) {
    case 0x10:
      Serial.println("  Chip = DS18S20");  // or old DS1820
      type_s = 1;
    case 0x28:
      Serial.println("  Chip = DS18B20");
      type_s = 0;
    case 0x22:
      Serial.println("  Chip = DS1822");
      type_s = 0;
      Serial.println("Device is not a DS18x20 family device.");

  ds.write(0x44, 1);        // start conversion, with parasite power on at the end
  delay(1000);     // maybe 750ms is enough, maybe not
  // we might do a ds.depower() here, but the reset will take care of it.
  present = ds.reset();
  ds.write(0xBE);         // Read Scratchpad

  Serial.print("  Data = ");
  Serial.print(present, HEX);
  Serial.print(" ");
  for ( i = 0; i < 9; i++) {           // we need 9 bytes
    data[i] = ds.read();
    Serial.print(data[i], HEX);
    Serial.print(" ");
  Serial.print(" CRC=");
  Serial.print(OneWire::crc8(data, 8), HEX);

  // Convert the data to actual temperature
  // because the result is a 16 bit signed integer, it should
  // be stored to an "int16_t" type, which is always 16 bits
  // even when compiled on a 32 bit processor.
  int16_t raw = (data[1] << 8) | data[0];
  if (type_s) {
    raw = raw << 3; // 9 bit resolution default
    if (data[7] == 0x10) {
      // "count remain" gives full 12 bit resolution
      raw = (raw & 0xFFF0) + 12 - data[6];
  } else {
    byte cfg = (data[4] & 0x60);
    // at lower res, the low bits are undefined, so let's zero them
    if (cfg == 0x00) raw = raw & ~7;  // 9 bit resolution, 93.75 ms
    else if (cfg == 0x20) raw = raw & ~3; // 10 bit res, 187.5 ms
    else if (cfg == 0x40) raw = raw & ~1; // 11 bit res, 375 ms
    //// default is 12 bit resolution, 750 ms conversion time
  celsius = (float)raw / 16.0;
  fahrenheit = celsius * 1.8 + 32.0;
  Serial.print("  Temperature = ");
  Serial.print(" Celsius, ");
  Serial.println(" Fahrenheit");

This is the code I used, I correct my sensor to 3V3 voltage , but it still not working.

Another way if I use the wrong voltage would it damage my launchpad?

Link to post
Share on other sites

I just now gave this a try with a DS18B20 and it works as expected (see output below).

If you applied 5v then pin 10 might now be damaged. I did try with 5v supply knowing I could damage the MSP430 but that worked as well. 

Try connecting it to pin 6 (P1.4). Also make sure that you change that in your Sketch.

It is also unclear to me from the pictures if you have a 4.7k pullup resistor on the data line (middle pin). If you do not, then that's a requirement for it to operate correctly.

Also, the LaunchPad should have 2 Serial ports exposed. Make sure you select the right one.

ROM = 28 FF 6C 5C 72 15 3 E3
  Chip = DS18B20
  Data = 1 7C 1 4B 46 7F FF C 10 7F  CRC=7F
  Temperature = 23.75 Celsius, 74.75 Fahrenheit
No more addresses.


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...