Serial communications

Hi, I am new to Arduino and working on a ham radio project to load time and date into a repeater controller from GPS. My problem is that the serial message put out through the serial port at 9600 is to fast for the controller to decode. I need a delay between the digits. Is there a way to do this with the Arduino?

Gchawk

Your mention of a "delay between the digits" is a different issue entirely from the baud rate. The baud rate is only relevant for sending one character. So I am not clear if it really is a baud rate problem or something else.

If you need a lower baud rate why not just use that?

If you need an interval between characters then send them one at a time with a suitable interval.

...R

Thanks for the reply, Yes and interval between numbers would do it but I am not sure how to do it. The message from a GPS receiver. and I have no ability to change anything in the devise that I am sending the time to. I do know that it works if there is a interval between digits in the serial stream at 9600.

Gchawk

The message from a GPS receiver.

Let's see the code that receives the message from the GPS.

Here is the Sketch, bits and peaces that I have paced together. It is a mess but it works. The controller just can’t read the serial message.
Gchawk

GPSwDSTwLCD.ino (14.3 KB)

Your special device is connected to the hardware serial port? If so, do you think that it will enjoy your error messages?

Your loop() starts with

  mySerial.read();

  if (mySerial.available() > 0)

Why do you start with a mySerial.read()? And is that data not relevant?

And to answer the question: If the delay between characters is important, you can use a delay between the characters (e.g. the tens and ones of hours, minutes etc. This should actually be specified in the documentation of your device. You can test that by simply adding a delay(1000) in the beginning of the loop() function.

I however have a feeling that something else is the cause of your problem. Do you need to send the date/time every time to the device or would e.g. once per second work as well.

This code off the internet that I modified to display on an lcd and send serial communications to a repeater controller. I could send it even once a day or every second. The gps is being read by a software serial port. I really don't know very much about programming, I am just trying to to modify the code to my purpose. At 71 I'm not sure I will ever leard programming. I am a hardware guy.

Gchawk

gchawk: This code off the internet that I modified to display on an lcd and send serial communications to a repeater controller. I could send it even once a day or every second. The gps is being read by a software serial port. I really don't know very much about programming, I am just trying to to modify the code to my purpose. At 71 I'm not sure I will ever leard programming. I am a hardware guy.

Gchawk

He is just a kid!

Paul

Ok, I just found a way to make the controller read my serial port. I just put CR at the beginning, guess it gets everything synced. Gchawk

gchawk: Ok, I just found a way to make the controller read my serial port. I just put CR at the beginning, guess it gets everything synced. Gchawk

Perhaps, but more than likely the repeater controller's communication system has received garbage from an unconnected line and the CR allows it to toss the trash.

I hope it is not one of the batch of repeater controllers we made a few years ago.

Paul

It's a Arcom RC210 I do know that serial comms has been an issue in the past.

Gchawk