RS232 Break Command

Hi guys,

Is it possible to issue a break command on a usbizi serial port?

Isn’t that something you need to implement in software?

Well as far as I’m aware it’s impossible to send a low for the whole period of a command, as either the stop bit or the start bit will be high. Am I wrong to think that?

e.g. sending a 0x00 message would look like: 0000000001 with the control bits, while a break command should look like 0000000000

@ Wouter, it must be supported in hardware. Break sets the TX line low, no start bits, no stop bits. I saw one bluetooth module that needs 3.5 byte times all low. Hardware generally allows you to start a break(zero on TX), then it’s up to you to wait X time, then you stop the break(One/Normal on TX).

@ Xarren, maybe close port and use TX as an output pin?

The break command is used for word aligning in a flash programming process - the baud rate is 9600 so it would need to change from a GPIO to a serial port and start transmitting in under 104microseconds in order not to lose the alignment. Do you recon that’s doable in RLP?

Her is a trick I used on a RS485 Module connected to UART on FEZ.

Here the baud rate was 38400, 2 stops bits, not parity, 8 data bits.
All send frames should start with a break signal (at least 22-bits low and 2-bits high) .

22 bits + 2 bits = 24 bits = 3 bytes @ 38400

OR

1 zero byte (0x00) @ 12800 + the 2 stop bits

So here is the code for the Send Break:

private void SendBreak()
{
if (RS485.IsOpen) { RS485.Close(); }
RS485.BaudRate = 12800;
RS485.Open();
RS485.WriteByte((byte)(0x00));
while (RS485.BytesToWrite != 0) ;
RS485.Close();
RS485.BaudRate = 38400;
RS485.Open();
}

Using code tags will make your post more readable. This can be done in two ways:[ol]
Click the “101010” icon and paste your code between the

 tags or...
Select the code within your post and click the "101010" icon.[/ol]
(Generated by QuickReply)