Hola a todos,
Estoy realizando un proyecto de comunicación Serie mediante el protocolo CCTALK el cual me he planteado resolverlo con un Arduino Uno.
El protocolo CCTALK usa 1 solo cable para recibir y transmitir datos. Del Arduino Uno me salen en los pines 0 y 1 los correspondientes RX y TX, pero en cuanto intento subir allí el programa compilado con algún cable conectado en esos dos pines desde el IDE de Arduino me peta.
Como me encontré ese problema estoy usando la librería AltSoftSerial la cual usa los pies 8 y 9 para la comunicación en Serie y vi que daba buenos resultados.
Mi problema viene, cuando si desconecto uno de los cables, puedo leer perfectamente el tráfico del protocolo CCTALK pero cuando pongo los dos, que son necesarios para leer y escribir, dejo de recibir trafico.
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
altSerial.begin(9600);
}
void loop() {
if (altSerial.available()) {
int c = altSerial.read();
Serial.println("LEIDO ---- ESTO: ");
Serial.print(c);
if (c == 2){
int destino = c;
Serial.print("Destino: ");
Serial.println(destino);
int suma = c;
bool finsh = false;
char msg;
int len_msg;
int num = 1;
while (!finsh || altSerial.available()){
c = altSerial.read();
num++;
Serial.println("LEE DATOS");
int cot = 0;
switch (c){
case 252:{
while(cot<5){
Serial.println("ENVIADO ACK");
altSerial.write(ack[cot]);
cot++;
}
finsh = true;
}break;
Adjunto el esquema de conexiones, es muy simple, con una protoboard he conectado el cable DATA del CCTALK a los cables RX y TX, y el GND que me viene también lo he conectado al GND de la placa arduino.
No sé si me dejo algo, espero que alguien sepa como resolver esto, como ya he dicho, si desconecto uno de los cables puedo recibir sin problemas, en cambio cuando están los dos soy incapaz de leer el trafico ni de enviar ningún tipo de señal.
Para descartar posibles errores, he comprobado mediante una interfaz de leer puerto serie y un USB CCTALK translator que el programa en arduino funciona y cuando le envío el mensaje X el me responde con el mensaje Y que tiene configurado.
Es decir, solo no me funciona cuando lo conecto a la máquina en cuestión.
