Consistent corrupted serial communication -> SOLVED

Hi all,

After a complete day of being occupied by the same problem, i’m taking my chances on the forum.

Like the title says: The serial connection between my Domino and my PC, has consistent corrupted data.

What works:
Loopbacks. From domino to domino works perfect. I even succeeded in letting COM1 communicate with COM2. The loopback at the PC-side also works perfect. Terminal tools indicate the same data coming in, as what goes out.

What doesn’t work:
Connecting A serial port from the Domino to my PC.
Sending data from the domino to the PC, e.g. byte 0x10, is received by the PC as byte 0x67.(for example)
The same happens the other way around. When i send 0x10 with my PC to the Domino, the domino receives it as byte 0x67.
But when i re-wire the system, to be loopbacks again, they both receive 0x10 again!

So, the hardware works. I must conclude.

Thats why i checked(an awefull lot of times), the settings on both the Domino and my PC. They both are set to a baudrate of 9600, and have the same parity, stopbit and databit settings. I also tried raising the baudrate on both ends, but this also had no effect. I even printed out the ‘current’ values of the SerialPort, when it was reading.

Another thing i tried was going back to example code. But this didn’t had any effect whatsoever. I checked the values by debugging, using visual studio, to inspect the values of the inputbuffers, but they appear to be the same as what got printed.

Out of desperation, i even compared the bitpatterns of what i was sending on one hand, and what i received on the other hand. But this also didn’t have the answer.

Weird thing is, i got it to work in my first or second project! So i even went back to using that code, but that also didn’t have any effect.

I’m now checking if my GPS module still works or not. Thats also connected to a serial port. (the UEXT connector)

Does someone have another idea, i havent tried yet? I’m willing to try (almost) everything!

How exactly? Start with ruling out the simple stuff like a bad cable. How are getting the loopback data? I’m assuming by debugging your way through the code? What are you using for a terminal program? What firmware are you running?

I would also suggest updating this thread as suggestions come in and you try them. During the day (US and EU time zones) there are lots of eyes looking here, so you generally will get fairly quick responses. Don’t wait a whole day!

The how is indeed a very good question ! Don’t forget the domino’s output is TTL, not RS232, and you need an interface converter between your PC and it :slight_smile:

Are you using a true COM port on your PC ? Or an USB to TTL adapter ?
If a true com port is used, what adapter are you using to connect to the domino ?

A TTL “0” should be converted to a +(5 to 15v) RS232, and a TTL “1” to a -(5 to 15v).

Good luck with your tests !

Thanks for your quick reply!

To be perfectly honest, i 'm working my way to use an Xbee shield. The xbee communication has allready been tested, but i started to having doubts about the serial connection.

And i think i allready know the problem. Like posted by Nicolas, i assumed the COM port built-in into my laptop, features the same as the USB adapter i used before.

For my xbee, i have this development board lying around(only one at the moment, unfortunately). I hooked that board to my domino a while back, and so i assumed it would work with my PC aswell.(Asumming from the indicating ‘COM’ label in my domino).

As for tomorrow, i will try to connect the domino to that board again. My guess is that the TTL -> RS232 converter is allready present at it.

But since it is now 2 AM, i think imma head for bed. :slight_smile:

Again, thanks for your quick replies! I will keep this thread updated!

Example of TTL to RS232 interface converter:
http://www.robotshop.com/ca/droids-db9-serial-adapter-5.html
Example of TTL to USB serial adapter (the one I am using between PC and domino) : http://www.robotshop.com/ca/ftdi-usb-to-ttl-serial-cable-3-3v-6.html

Bonne chance !

Thanks a lot!

The thing is, i only use the connection for debuggin purposes.

I needed to verify what data was being sent over COM1.

I took a quick vid of my ugly-hacked testrig:

Maybe that helps somewhat. :slight_smile:

Anyway, i can go to sleep now, hehe.

Quick solution: Used a Xbee Developmentboard to serve as a TTL/RS232 bridge between COM1 in/out on my FEZ Domino and my PC’s COM port, via RS232. Thread closed as far as i’m concerned, thanks everyone!