Main Site Documentation

I specify StopBits.Two but the serialport transmits with StopBits.One


I’m trying to interface to a Modbus device and since I didn’t get any useful data back from the device, I connected a scope to the serial TX line (data going from the Fez Domino to the Modbus device). The device expects data in 38400 baud, no parity, 8 bits and 2 stop bits, but according to my scope (PicoScope) the data has frame errors. However if I tell the scope to interpret the data as having only one stop bit, I get the correct interpretation.

TeraTerm however interprets the data correctly regardless of how I specify the number of stopbits (I guess it is intelligent enough to switch to the correct format)

Has anyone seen this problem before, and more importantly, found a solution to it?



I doubt anyone used 2 stop bits as this is rarely needed. We can look into it but the question is, does the processor even support 2 stop bits?


You are, sadly, correct.
According to the datasheet, page 419, the CPU only supports 2 stop bit, when a 5 bit character length is used.
Since my Modbus device expects 8 data bits and 2 stop bits I guess I need another approach (I’m NOT going to write a SW uart driver)