Buonasera, sto diventando matto a risolvere questo problema
Sto cercando di leggere dei byte trasmessi dal PC con la porta USB di ArduinoMega.
Il codice che posto funziona e legge i byte provenienti dal software (dgt board setup Link), ma non ottengo alcuna ricezione con il software (dgt RabbitConnect 1.5 Link:)
La comunicazione è a 9600 baud, 8N1.
Posto il codice...
/*
Rilevo i byte (47,45,46,41,4b,42)>(G,E,F,A,K,B)
*/
byte c;
void setup() {
Serial.begin(9600);
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
pinMode(11, OUTPUT);
pinMode(10, OUTPUT);
pinMode(9, OUTPUT);
pinMode(8, OUTPUT);
}
void loop() {
if(Serial.available()) {
for(int k=8;k<14;k++) digitalWrite(k,LOW);
c=Serial.read();
switch (c) {
case 0x41:
digitalWrite(10,HIGH);
break;
case 0x4b:
digitalWrite(9,HIGH);
break;
case 0x42:
digitalWrite(8,HIGH);
break;
case 0x45:
digitalWrite(12,HIGH);
break;
case 0x46:
digitalWrite(11,HIGH);
break;
case 0x47:
digitalWrite(13,HIGH);
break;
}
}
}
Praticamente con il software dgt board setup in esecuzione sul PC, Arduino riconosce i byte e vedo accendersi i relativi Led, mentre con il software dgt RabbitConnect niente. Qualcuno ha qualche idea ?
Posto anche il Polling con Arduino e i due Software...
Polling della comunicazione Arduino /Software dgt board setup (Arduino riesce a leggere i byte ricevuti (47 45 46 41 4B 42) :
COM è aperta
Baud rate 9600
RTS on
DTR on
Pcchetti di bit=8, Bit di Stop =1, Parità=None
Configura i caratteri: Eof=0xFF, Error=0xFF, Break=0xFF, Event=0xFF, Xon=0xFA, Xoff=0xFF
Controllo di flusso manuale: ControlHandShake=(DTR_CONTROL), FlowReplace=(TRANSMIT_TOGGLE, RTS_CONTROL, XOFF_CONTINUE), XonLimit=0, XoffLimit=0
Configura i tempi limite: Intervallo di lettura=-1, MultiploTempolimiteTotaleLettura=0, CostanteTempolimiteTotaleLettura=0, MultiploTempolimiteTotaleScrittura=0, CostanteTempolimiteTotaleScrittura=0
COM è chiusa
COM è aperta
Baud rate 9600
RTS on
DTR on
Pcchetti di bit=8, Bit di Stop =1, Parità=None
Configura i caratteri: Eof=0xFA, Error=0xFF, Break=0xFF, Event=0xFF, Xon=0x74, Xoff=0xEB
Controllo di flusso manuale: ControlHandShake=(DTR_CONTROL), FlowReplace=(TRANSMIT_TOGGLE, RTS_CONTROL, XOFF_CONTINUE), XonLimit=0, XoffLimit=0
Configura i tempi limite: Intervallo di lettura=-1, MultiploTempolimiteTotaleLettura=0, CostanteTempolimiteTotaleLettura=0, MultiploTempolimiteTotaleScrittura=0, CostanteTempolimiteTotaleScrittura=0
COM è chiusa
COM è aperta
Baud rate 9600
RTS on
DTR on
Pcchetti di bit=8, Bit di Stop =1, Parità=None
Configura i caratteri: Eof=0xFF, Error=0xFF, Break=0xFF, Event=0xFF, Xon=0xFA, Xoff=0xFF
Controllo di flusso manuale: ControlHandShake=(DTR_CONTROL), FlowReplace=(TRANSMIT_TOGGLE, RTS_CONTROL, XOFF_CONTINUE), XonLimit=0, XoffLimit=0
Configura i tempi limite: Intervallo di lettura=-1, MultiploTempolimiteTotaleLettura=0, CostanteTempolimiteTotaleLettura=0, MultiploTempolimiteTotaleScrittura=0, CostanteTempolimiteTotaleScrittura=0
GEFAKB
COM è chiusa
Polling della comunicazione Arduino/Software dgt RabbitConnect 1.5 (Arduino non riesce a leggere i byte ricevuti (46 46…..) :
COM è aperta
Baud rate 9600
RTS on
DTR on
Pcchetti di bit=8, Bit di Stop =1, Parità=None
Configura i caratteri: Eof=0x00, Error=0x00, Break=0x00, Event=0x00, Xon=0x59, Xoff=0xD9
Controllo di flusso manuale: ControlHandShake=(DTR_CONTROL), FlowReplace=(TRANSMIT_TOGGLE, RTS_CONTROL, XOFF_CONTINUE), XonLimit=0, XoffLimit=0
Configura i tempi limite: Intervallo di lettura=1, MultiploTempolimiteTotaleLettura=0, CostanteTempolimiteTotaleLettura=0, MultiploTempolimiteTotaleScrittura=0, CostanteTempolimiteTotaleScrittura=0
Baud rate 9600
RTS on
DTR on
Pcchetti di bit=8, Bit di Stop =1, Parità=None
Configura i caratteri: Eof=0xFF, Error=0xFF, Break=0xFF, Event=0xFF, Xon=0x00, Xoff=0x00
Controllo di flusso manuale: ControlHandShake=(DTR_CONTROL), FlowReplace=(TRANSMIT_TOGGLE, RTS_CONTROL, XOFF_CONTINUE), XonLimit=0, XoffLimit=0
Baud rate 9600
RTS on
DTR on
Pcchetti di bit=8, Bit di Stop =1, Parità=None
Configura i caratteri: Eof=0xFF, Error=0xFF, Break=0xFF, Event=0xFF, Xon=0x10, Xoff=0x00
Controllo di flusso manuale: ControlHandShake=(DTR_CONTROL), FlowReplace=(TRANSMIT_TOGGLE, RTS_CONTROL, XOFF_CONTINUE), XonLimit=0, XoffLimit=0
Baud rate 9600
RTS on
DTR on
Pcchetti di bit=8, Bit di Stop =1, Parità=None
Configura i caratteri: Eof=0xFF, Error=0xFF, Break=0xFF, Event=0xFF, Xon=0x10, Xoff=0x00
Controllo di flusso manuale: ControlHandShake=(DTR_CONTROL), FlowReplace=(TRANSMIT_TOGGLE, RTS_CONTROL, XOFF_CONTINUE), XonLimit=0, XoffLimit=0
Baud rate 9600
RTS on
DTR on
Pcchetti di bit=8, Bit di Stop =1, Parità=None
Configura i caratteri: Eof=0xFF, Error=0xFF, Break=0xFF, Event=0xFF, Xon=0x10, Xoff=0x00
Controllo di flusso manuale: ControlHandShake=(DTR_CONTROL), FlowReplace=(TRANSMIT_TOGGLE, RTS_CONTROL, XOFF_CONTINUE), XonLimit=0, XoffLimit=0
Baud rate 9600
RTS on
DTR on
Pcchetti di bit=8, Bit di Stop =1, Parità=None
Configura i caratteri: Eof=0xFF, Error=0xFF, Break=0xFF, Event=0xFF, Xon=0x10, Xoff=0x00
Controllo di flusso manuale: ControlHandShake=(DTR_CONTROL), FlowReplace=(TRANSMIT_TOGGLE, RTS_CONTROL, XOFF_CONTINUE), XonLimit=0, XoffLimit=0
FFF
COM è chiusa
Non so più che pesci pigliare...