in data 10-13-2008 12:09 PM
Salve,
sto cercando di comunicare tramite la seriale con un dispositivo di cui conosco il protocollo di comunicazione, ma non riesco a comunicare.
Nello specifico: posseggo una stringa per la richiesta al dispositivo che è la seguente
0xAA 0x00 0x0A 0x00 0x01 0xFF 0x00 0x00 0x09 0x43
per un totale di 10 byte.
Ora la mia domanda è: trattandosi di notazione esadecimale ho provato a convertire utilizzando il Vi di esempio Exadecimal to ASCII, ma non riesco un esatta corrispondenza, c'è qualcosa che non sto considerando?
Le impostazioni della porta in VISA sono corrette.
10-14-2008 01:46 AM - modificato 10-14-2008 01:46 AM
Puoi creare un array di byte (U8) e convertirlo in stringa, in questo modo:
in data 10-14-2008 02:46 AM
Grazie per la risposta,
come puoi vedere nel Vi allegato la conversione avviene ma la stringa di uscita contiene solo il primo carattere! mi era già capitato in altre prove che avevo fatto.
Cos'altro c'è che non va?
10-14-2008 05:16 AM - modificato 10-14-2008 05:16 AM
Devi probabilmente aggiungere un property node per evitare di terminare la trasmissione al primo byte nullo:
Purtroppo non riesco ad aprire il tuo vi perchè qui ho solo LV 8.2, quindi sto facendo delle ipotesi...
in data 10-14-2008 05:23 AM
Ciao,
se, cliccando con il tasto destro sull'indicatore stringa, selezioni "Hex display", vedi tutti i caratteri esadecimali che compongono la stringa.
Qual è esattamente il problema?
Licia