Having some problems, and I hope someone can help. Using my computer and a USB connection, I have changed the baud rate of the SM5100B to 9600 and verified it’s working by sending a few sms messages. I then cleared the jumpers on the evaluation board and soldered wires to TXD0 and RXD0. I hooked the wires up to my arduino (uno) on pins 2 & 3 and, using the sample code from SFE, I’m getting gibberish from the board. It acts like the baud rate is set incorrectly, but I have hooked it up to a SM5100B Cellular Shield, and it works perfectly. Just to double check, I re-soldered the jumpers on the evaluation board, hooked it back up to my computer, and confirmed that it is indeed working correctly over USB. After clearing the jumpers (again), it’s still not working. Any ideas?
Here’s the output from the serial connection:
Starting SM5100B Communication…
ÿ’¤LûÿÿkHªíþÿÿÓQHÿý$¥Lûÿÿÿÿß%9ÿÿÿÿÿ÷ÿÿÿÿÿ©iMúÿÿÿÑ5Rÿÿ2÷ÿÿÿÿú÷¿ÿÿÿÿÿÿÿÿÿþ+ûýÿÿÿOR:îÿÿï+ÿ×ÿ¥ª+ÿûÿÿ=ÿ
ÿÿÿÿÿÿÿÿ
And here’s the code:
/* SparkFun Cellular Shield - Pass-Through Sample Sketch
SparkFun Electronics Written by Ryan Owens CC by v3.0 3/8/10
Thanks to Ryan Owens and Sparkfun for sketch */
#include <SoftwareSerial.h> //Include the SoftwareSerial library to send serial commands to the cellular module.
#include <string.h> //Used for string manipulations
char incoming_char=0; //Will hold the incoming character from the Serial Port.
SoftwareSerial cell(2,3); //Create a 'fake' serial port. Pin 2 is the Rx pin, pin 3 is the Tx pin.
void setup()
{
//Initialize serial ports for communication.
Serial.begin(9600);
cell.begin(9600);
Serial.println("Starting SM5100B Communication...");
}
void loop()
{
//If a character comes in from the cellular module...
if(cell.available() >0)
{
incoming_char=cell.read(); //Get the character from the cellular serial port.
Serial.print(incoming_char); //Print the incoming character to the terminal.
}
//If a character is coming from the terminal to the Arduino...
if(Serial.available() >0)
{
incoming_char=Serial.read(); //Get the character coming from the terminal
//Serial.print(incoming_char);
cell.print(incoming_char); //Send the character to the cellular module.
}
}