Errors

At 4800 baud, there is only 208 clock cycles for SB201 between each bit. This means that to ensure error free communication all the time, all other interrupts would have to be less than 104 cycles, including the prologue of the timer interrupt. This is not always true for the interrupt service routines used by SB201. However, since those interrupts (CCADC & VADC conversion complete) only runs once per second, and since the blocking interrupts has to occur just a few cycles before the timer interrupt, a retransmission of the "broken" communication is sufficient and adequate to solve this.

The errors the host can detect include:

On all those errors the host should send a break/arbitration lock and retransmit. A break/arbitration lock is a minimum of 18 normal bit periods of low on the communication line. This resets the communication on SB201 and makes it ready to receive a new transmission. A break can be sent as soon as the error is detected.

If the same command fails many times in a row, that command is probably not supported by SB201 or something serious is wrong. It might be that the frequency of the clock on the host or SB201 has changed too much or maybe that SB201 have shut itself down.