LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Serial Framing Error with no termination char set

Solved!
Go to solution

WE ARE TALKING!

 

We reversed the polarity on the receive line and we are now reading exactly 86 bytes with the proper start character. Thank you guys so much for your help and ideas. I've learned a lot about how the byte level works, including how to read it with a voltmeter. I didn't realize that the sending wires would be a constant 3.3v and only go low for 0s and stop bytes. 

0 Kudos
Message 11 of 13
(379 Views)

@Furbs wrote:

I've learned a lot about how the byte level works, including how to read it with a voltmeter. I didn't realize that the sending wires would be a constant 3.3v and only go low for 0s and stop bytes. 


You should be looking at both the + and - lines on an oscilloscope.  You will see a lot more.  But more importantly, RS-422 requires that the + side be higher than the - to cause a TRUE bit.  That is the point of a differential signal.  Per UART, the normal state is a TRUE (+ is high, - is low).  A Start bit is when the signal results in a FALSE (+ is low, - is high) and then the data is sent for the rest of the byte (number of bits and parity set the number of bits sent to get the byte).

 

Just wait until you get a device that nobody knows what the baud rate is and you have to somehow talk to it.  Out comes the oscilloscope.  If you have a good one, it can decode the UART signal for you.  I did not have a good oscilloscope, so I had to measure the bit widths and figure out the baud rate along with all of the other settings.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
0 Kudos
Message 12 of 13
(371 Views)

@Furbs wrote:

WE ARE TALKING!

 

We reversed the polarity on the receive line and we are now reading exactly 86 bytes with the proper start character. Thank you guys so much for your help and ideas. I've learned a lot about how the byte level works, including how to read it with a voltmeter. I didn't realize that the sending wires would be a constant 3.3v and only go low for 0s and stop bytes. 


 

RS-485 is a differential signal, so the voltage level respect to ground is not at important as the differential voltage between A and B.

========================
=== Engineer Ambiguously ===
========================
0 Kudos
Message 13 of 13
(369 Views)