Software Serial on Arduino Micro

I am working on a Micro and trying to establish a SoftwareSerial port. I up load the Software Serial examplein the Arduino IDE, but it does not work. The code
is below. Why is it not working??? I know that the Micro is based off of the Atmeg32u4 which is the same chip as the Arduino Leonardo and have taken care to use the correct pins according to what the Leonardo needs, but I still cannot get it to work. Any help here would be greatly appreciated.
/*
Software serial multple serial test

Receives from the hardware serial, sends to software serial.
Receives from software serial, sends to hardware serial.

The circuit:

  • RX is digital pin 10 (connect to TX of other device)
  • TX is digital pin 11 (connect to RX of other device)

Note:
Not all pins on the Mega and Mega 2560 support change interrupts,
so only the following can be used for RX:
10, 11, 12, 13, 50, 51, 52, 53, 62, 63, 64, 65, 66, 67, 68, 69

Not all pins on the Leonardo support change interrupts,
so only the following can be used for RX:
8, 9, 10, 11, 14 (MISO), 15 (SCK), 16 (MOSI).

created back in the mists of time
modified 25 May 2012
by Tom Igoe
based on Mikal Hart’s example

This example code is in the public domain.

*/
#include <SoftwareSerial.h>

SoftwareSerial mySerial(10, 11); // RX, TX

void setup()
{
// Open serial communications and wait for port to open:
Serial.begin(57600);
while (!Serial) {
Serial.println(“Waiting”); // wait for serial port to connect. Needed for Leonardo only
}

Serial.println(“Goodnight moon!”);

// set the data rate for the SoftwareSerial port
mySerial.begin(57600);
Serial.println(“1”);
mySerial.println(“Hello, world?”);
Serial.println(“2”);
}

void loop() // run over and over
{
//Serial.println(“3”);
if (mySerial.available())
Serial.write(mySerial.read());
if (Serial.available())
mySerial.write(Serial.read());
}

Since you have Serial (USB) and Serial1 (Pins 0 and 1) I would suggest trying the hardware serial, just to make sure that works:

void setup()
{
// Open serial communications and wait for port to open:
Serial.begin(57600);
Serial1.begin(57600);
while (!Serial) {
Serial.println("Waiting"); // wait for serial port to connect. Needed for Leonardo only
}

Serial.println("Goodnight moon!");
Serial.println("1");
Serial1.println("Hello, world?");
Serial.println("2");
}

void loop() {
if (Serial1.available())
    Serial.write(Serial1.read());
if (Serial.available())
    Serial1.write(Serial.read());
}

Hello,
Thank you for providing the code. It worked as it was supposed to.
I am using the Arduino as a micro controller that talks to a sensor using a UART serial.
Pin 10 and 11 connect to the Rx and Tx of the sensor, respectively.
The Arduino and the sensor do not seem to be communicating. We have already established that it is not the problem of the sensor, and I have tried both hardware and software serial. Would you have any idea why this is happening?

The sensor is a S8 miniature CO2 sensor from CO2 meter. The code I am using is below.

#include <Arduino.h>
#include <SPI.h>
#if not defined (VARIANT_ARDUINO_DUE_X) && not defined (VARIANT_ARDUINO_ZERO)
//#include <SoftwareSerial.h>
#endif
#define FACTORYRESET_ENABLE 1
#define MINIMUM_FIRMWARE_VERSION “0.6.6”
#define MODE_LED_BEHAVIOUR “MODE”

//Adafruit_BluefruitLE_UART ble(BLUEFRUIT_HWSERIAL_NAME, BLUEFRUIT_UART_MODE_PIN);
void error(const __FlashStringHelper*err) {
Serial.println(err);
while (1);
}
#include “kSeries.h” //include kSeries Library
kSeries K_30(11,10); //Initialize a kSeries Sensor with pin 12 as Rx and 13 as Tx
//SoftwareSerial S8_Serial(10, 11); //Initialize a S8 sensor with pin 10 as Rx and pin 11 as Tx

byte readCO2 = {0xFE, 0X44, 0X00, 0X08, 0X02, 0X9F, 0X25}; //Command packet to read Co2 (see app note)
byte response = {0,0,0,0,0,0,0}; //create an array to store the response
int valMultiplier = 1;
void setup()
{
// Open serial communications and wait for port to open:
Serial.begin(9600);
Serial1.begin(9600);
while (!Serial) {
Serial.println(“Waiting”); // wait for serial port to connect. Needed for Leonardo only
}
if ( FACTORYRESET_ENABLE )
{
/* Perform a factory reset to make sure everything is in a known state */
Serial.println(F("Performing a factory reset: "));
}

}

void loop() {
if (Serial1.available())
Serial.write(Serial1.read());
if (Serial.available())
Serial1.write(Serial.read());

double co2 = K_30.getCO2(‘p’); //returns co2 value in ppm (‘p’) or percent (’%’)
//sendRequest(readCO2);
//unsigned long valCO2 = getValue(response);
Serial.print("Co2 ppm = ");
Serial.println(co2); //print value
//Serial.println(valCO2); //print value
delay(2000); //wait 2 seconds

}
unsigned long getValue(byte packet)
{
int high = packet[3]; //high byte for value is 4th byte in packet in the packet
int low = packet[4]; //low byte for value is 5th byte in the packet

unsigned long val = high256 + low; //Combine high byte and low byte with this formula to get value
return val
valMultiplier;
}