# Interface between Fastrack Supreme and PIC

**URL:** <https://forum.sierrawireless.com/t/interface-between-fastrack-supreme-and-pic/3519>\
**Category:** Open AT\
**Created:** [August 3, 2009, 2:55am UTC](https://forum.sierrawireless.com/t/interface-between-fastrack-supreme-and-pic/3519 "2009-08-03T02:55:10Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![phamduong537](https://avatars.discourse-cdn.com/v4/letter/p/13edae/32.png) [@phamduong537](https://forum.sierrawireless.com/u/phamduong537)\
**Post date:** [August 3, 2009, 2:55am UTC](https://forum.sierrawireless.com/t/interface-between-fastrack-supreme-and-pic/3519/1 "2009-08-03T02:55:10Z")

</div>

HI, ALL

I have a problem when i try to interface Fastrack with PIC using UART 1. I simply send a data block from Fastrack to PIC. I use 2 line TX and RX of Fastrack to connect to RX and TX of PIC but PIC can’t receive any thing. Can I give me an advice about this problem? I configure UART1 at 9600.

My code:

void AppInitSerial(void)  
{  
static u8 CommandSent = 0;  
// TO DO : Add your initialization code here  
switch(CommandSent)  
{  
case 0:  
// Open the NMEA through,Physical Port,Open Physical Port, UART1  
adl\_atCmdCreate(“AT+WMFM=0,1,1”, ADL\_AT\_PORT\_TYPE(ADL\_PORT\_NONE, FALSE), (adl\_atRspHandler\_t)Init\_ResponseHandler, “_", NULL);  
TRACE(( 1 , “AT+WMFM=0,1,1”));  
CommandSent++;  
break;  
case 1:  
/_\*\*\*\*\* Initialize the serial port for GPS chipset as an FCM port \*\*\*_/  
//Set the baud rate  
wm\_sprintf(ATCommand, “AT+IPR=%d”, OSCOMM\_BAUDRATE);  
adl\_atCmdCreate(ATCommand, ADL\_AT\_PORT\_TYPE(ADL\_PORT\_UART1, FALSE), (adl\_atRspHandler\_t)Init\_ResponseHandler, "", NULL);  
TRACE(( 1 , ATCommand));  
CommandSent++;  
break;  
case 2:  
//Set to 8 data bits, odd parity, 1 stop bit  
//TRACE(( 1 , “AT+ICF=2,0”));  
//adl\_atCmdCreate(“AT+ICF=2,0”, ADL\_AT\_PORT\_TYPE(ADL\_PORT\_UART1, FALSE), (adl\_atRspHandler\_t)Init\_ResponseHandler, "", NULL);  
adl\_atCmdCreate(“AT+ICF=3,4”, ADL\_AT\_PORT\_TYPE(ADL\_PORT\_UART1, FALSE), (adl\_atRspHandler\_t)Init\_ResponseHandler, "_”, NULL);  
TRACE(( 1 , “AT+ICF=2,0”));  
CommandSent++;  
break;

```
case 3:
   //No flow control
    adl_atCmdCreate("AT+IFC=0,0", ADL_AT_PORT_TYPE(ADL_PORT_UART1, FALSE), (adl_atRspHandler_t)Init_ResponseHandler, "*", NULL);
    TRACE(( 1 , "AT+IFC=0,0"));
	CommandSent++;
	break;

case 4:
	SendDataToUart1();
	break;
}

```

}

Thanks a lot!

---

<div class="post-metadata">

**Author:** ![davidc](https://avatars.discourse-cdn.com/v4/letter/d/a183cd/32.png) [@davidc](https://forum.sierrawireless.com/u/davidc)\
**Post date:** [August 3, 2009, 6:17am UTC](https://forum.sierrawireless.com/t/interface-between-fastrack-supreme-and-pic/3519/2 "2009-08-03T06:17:39Z")

</div>

Hiya,

> [@phamduong537](#):
>
> I use 2 line TX and RX of Fastrack to connect to RX and TX of PIC but PIC can’t receive any thing

Some things to check:

- Check that you’ve got the TX/RX lines around the right way. The Fastrack is a DCE (Data Communications Equipment) device, so TX on the Fastrack is an Input and RX on the Fastrack is an Output. Try connecting TX to TX, RX to RX and see how you go.
- Don’t forget that the Fastrack serial interface is at RS232 voltage levels, NOT TTL levels required by the PIC. You WILL need to put a level translator (i.e. MAX232 or similar) between the PIC and the Fastrack. Don’t forget to check that input goes to input (etc) through the MAX232…
- Finally, connect the Fastrack up to the PC and run Hyperterm (or similar serial terminal emulator - I find Realterm is better than Hyperterm for this low level debugging), and test your code. Is your code outputting what you expect when viewed in the terminal emulator?

Ciao, Dave

---

<div class="post-metadata">

**Author:** ![awneil](https://avatars.discourse-cdn.com/v4/letter/a/49beb7/32.png) [@awneil](https://forum.sierrawireless.com/u/awneil)\
**Post date:** [August 3, 2009, 8:31am UTC](https://forum.sierrawireless.com/t/interface-between-fastrack-supreme-and-pic/3519/3 "2009-08-03T08:31:48Z")

</div>

One more thing: remember that, by default, the Fastrack requires the hardware handshaking lines - as stated in the User Guide.

See: [viewtopic.php?f=53&t=3081&p=11355&hilit=RTS+CTS#p11377](http://www.wavecom.com/modules/movie/scenes/forums/viewtopic.php?f=53&t=3081&p=11355&hilit=RTS+CTS#p11377)

> [@davidc](#):
>
> - Finally, connect the Fastrack up to the PC and run Hyperterm (or similar serial terminal emulator - I find Realterm is better than Hyperterm for this low level debugging), and test your code. Is your code outputting what you expect when viewed in the terminal emulator?

Excellent advice (one for the FAQ 😉 ); but be sure to do it with the same 3-wire connection…

---

<div class="post-metadata">

**Author:** ![hade](https://avatars.discourse-cdn.com/v4/letter/h/b4bc9f/32.png) [@hade](https://forum.sierrawireless.com/u/hade)\
**Post date:** [August 20, 2009, 11:16am UTC](https://forum.sierrawireless.com/t/interface-between-fastrack-supreme-and-pic/3519/4 "2009-08-20T11:16:42Z")

</div>

Hi all, my project is near to the end. but there is still some things that occur. I have the similiar problem with phamduong. my Fastrack couldn’t send any data to my LED display. what i have checked so far is that the cable connectivity is right. (from what i read from Dave’s post that the connection must be TX to TX and RX to RX). and the second is that the LED display is already communicating in RS232 standard. because i could communicate between my PC’s serial port with the LEDdisplay’s serial port. then what could have been gone wrong? thank you for your advice in advance.

Best regards,  
Hade

---

<div class="post-metadata">

**Author:** ![hade](https://avatars.discourse-cdn.com/v4/letter/h/b4bc9f/32.png) [@hade](https://forum.sierrawireless.com/u/hade)\
**Post date:** [August 20, 2009, 11:32am UTC](https://forum.sierrawireless.com/t/interface-between-fastrack-supreme-and-pic/3519/5 "2009-08-20T11:32:11Z")

</div>

oh one more thing… what is the voltage level of rs232 output from the Fastrack supreme? from what i read if i am not mistake it is around plus minus 3 V?

---

<div class="post-metadata">

**Author:** ![awneil](https://avatars.discourse-cdn.com/v4/letter/a/49beb7/32.png) [@awneil](https://forum.sierrawireless.com/u/awneil)\
**Post date:** [August 20, 2009, 12:15pm UTC](https://forum.sierrawireless.com/t/interface-between-fastrack-supreme-and-pic/3519/6 "2009-08-20T12:15:24Z")

</div>

> [@hade](#):
>
> from what i read

What did you read?

If you want to know what RS232 voltage levels are, then you need to read the RS232 specification!

Note that the official title is now “TIA-232-F” - see: [standardsdocuments.tiaonline.org/tia-232-f.htm](http://standardsdocuments.tiaonline.org/tia-232-f.htm)

> [@](#):
>
> if i am not mistake it is around plus minus 3 V?

I think you are probably mistaken.

---

<div class="post-metadata">

**Author:** ![awneil](https://avatars.discourse-cdn.com/v4/letter/a/49beb7/32.png) [@awneil](https://forum.sierrawireless.com/u/awneil)\
**Post date:** [August 20, 2009, 12:25pm UTC](https://forum.sierrawireless.com/t/interface-between-fastrack-supreme-and-pic/3519/7 "2009-08-20T12:25:38Z")

</div>

> [@hade](#):
>
> the connection must be TX to TX and RX to RX

That assumes that your device is configured as a DTE.

[viewtopic.php?f=30&t=3450&p=13023&hilit=dte+dce#p13023](http://www.wavecom.com/modules/movie/scenes/forums/viewtopic.php?f=30&t=3450&p=13023&hilit=dte+dce#p13023)

Also, did you note the bit about flow control signals…?

---

<div class="post-metadata">

**Author:** ![hade](https://avatars.discourse-cdn.com/v4/letter/h/b4bc9f/32.png) [@hade](https://forum.sierrawireless.com/u/hade)\
**Post date:** [August 20, 2009, 2:21pm UTC](https://forum.sierrawireless.com/t/interface-between-fastrack-supreme-and-pic/3519/8 "2009-08-20T14:21:05Z")

</div>

hi awneil,

yes i already set the flow control signal off. using at+ifc command. i know now that the rs232 is working on ± 3 - 15V. Does the output txd from Fastrack has the same voltage level?

---

<div class="post-metadata">

**Author:** ![awneil](https://avatars.discourse-cdn.com/v4/letter/a/49beb7/32.png) [@awneil](https://forum.sierrawireless.com/u/awneil)\
**Post date:** [August 20, 2009, 3:48pm UTC](https://forum.sierrawireless.com/t/interface-between-fastrack-supreme-and-pic/3519/9 "2009-08-20T15:48:59Z")

</div>

Yes, the Fastrack’s output is RS232 compliant.

---

<div class="post-metadata">

**Author:** ![fer.caballero](https://avatars.discourse-cdn.com/v4/letter/f/ba9def/32.png) [@fer.caballero](https://forum.sierrawireless.com/u/fer.caballero)\
**Post date:** [August 21, 2009, 8:56am UTC](https://forum.sierrawireless.com/t/interface-between-fastrack-supreme-and-pic/3519/10 "2009-08-21T08:56:19Z")

</div>

Consider that Wavecom documentation usually indicates RS232 signal from the PC point of view: Tx is the wire where the Fastrack recieve the data.

---

<div class="post-metadata">

**Author:** ![awneil](https://avatars.discourse-cdn.com/v4/letter/a/49beb7/32.png) [@awneil](https://forum.sierrawireless.com/u/awneil)\
**Post date:** [August 21, 2009, 9:48am UTC](https://forum.sierrawireless.com/t/interface-between-fastrack-supreme-and-pic/3519/11 "2009-08-21T09:48:01Z")

</div>

> [@fer.caballero](#):
>
> Consider that Wavecom documentation usually indicates RS232 signal from the PC point of view

Yes, that’s one way to look at it.

Another way is to remember that Wavecom products are DCEs - ie, “modems” - and TX is always an input to a DCE

See: [viewtopic.php?f=53&t=3081&p=11355&hilit=RTS+CTS#p11355](http://www.wavecom.com/modules/movie/scenes/forums/viewtopic.php?f=53&t=3081&p=11355&hilit=RTS+CTS#p11355)  
And: [viewtopic.php?f=37&t=2919&p=10657&hilit=input+dce#p10657](http://www.wavecom.com/modules/movie/scenes/forums/viewtopic.php?f=37&t=2919&p=10657&hilit=input+dce#p10657)

A further way to look at it is that “Tx” is the name of the signal - not the name of a pin;  
then, clearly, the Tx signal must come out of the DTE and go in to the DCE

In other words, “Tx” means “the data to be transmitted over the link”

See: [viewtopic.php?f=5&t=2997&p=11015&hilit=input+dce#p11015](http://www.wavecom.com/modules/movie/scenes/forums/viewtopic.php?f=5&t=2997&p=11015&hilit=input+dce#p11015)

---

<div class="post-metadata">

**Author:** ![awneil](https://avatars.discourse-cdn.com/v4/letter/a/49beb7/32.png) [@awneil](https://forum.sierrawireless.com/u/awneil)\
**Post date:** [August 21, 2009, 9:57am UTC](https://forum.sierrawireless.com/t/interface-between-fastrack-supreme-and-pic/3519/12 "2009-08-21T09:57:40Z")

</div>

Nobody should do anything RS232-related without at least having something like this:

![](http://img-europe.electrocomponents.com/largeimages/R624634-01.jpg)  
eg, [uk.rs-online.com/web/search/sear … &R=6246347](http://uk.rs-online.com/web/search/searchBrowseAction.html?method=getProduct&R=6246347)

That will allow you to see which lines are being driven - from which, among other things, you can deduce which are inputs and which are outputs.

If you like that sort of thing, and don’t want to buy one, it’s easy to make your own with just a few LEDs and resistors…
