Estoy usando C-Control Pro 128 que contiene un procesador atmega. He conectado la interfaz rs232 con mi PC y leí los datos entrantes, con el siguiente programa ejecutado en el controlador:
void main(void) {
Serial_Init(0, SR_8BIT | SR_1STOP | SR_EVEN_PAR, SR_BD9600);
Serial_Write(0, 1);
Serial_Write(0, 2);
}
Esperaba que el controlador generara los bytes 1 y 2 . En su lugar, recibo lo siguiente:
1
2
119
119
Si escribo por ej. ocho bytes en lugar de dos, 119 se agrega ocho veces a los datos reales. Si escribo solo un byte, solo se transmite un byte, por lo que todo funciona correctamente.
El número 119 es independiente del valor de los bytes y de la velocidad en baudios.
Si agrego una instrucción sleep entre los comandos write (aproximadamente 50 ms), el problema no se produce.
¿Alguien ha tenido un problema similar o alguna idea de dónde podría ubicarse el problema?