in data 01-15-2013 03:09 AM
Buongiorno a tutti!
sono un pivellino di LabView e ho un piccolo problema da risolvere. Devo progettare una scheda che riceva e condizioni segnali provenienti da accelerometri(fatto), esegua qualche calcolo di calibrazione cn un microcontrollore e invii i risultati tramite USB ad un'interfaccia labview che visualizza gli andamenti su grafici. Per implementare ciò ho usato l'esempio Advanced Serial Write and Read che ha funzionato benissimo finché non ho avuto la malsana idea di rendere i calcoli più precisi e cambiare i dati inviati da interi a 16 bit a float. Per far ciò ho modificato il format string del blocco Scan From String che uso per leggere i dati in arrivo con %f %f %f, solo che ora dei tre valori che riceve, e che legge perché compaiono nel blocco read string, me ne visualizza correttamente solo uno, il primo, mentre gli altri due dà in uscita sempre zero e proprio non riesco a capire perché. Per fare un controllo ho messo un indicatore numerico per controllare il valore che esce dalla Scan From String, il quale è effettivamente zero, quindi non è un problema di grafico.
Qualcuno mi può aiutare??
01-15-2013 04:42 AM - modificato 01-15-2013 04:43 AM
Non riesco ad aprire il tuo VI perchè sulla mia macchina ho LV2010, comunque ci possono essere dei problemi facendo la scansione di stringhe con valori decimali. Anzitutto verifica di non avere degli errori in uscita dallo Scan From String, poi devi verificare che il formato della stringa trasmessa dalla scheda su seriale sia compatibile con la format string del vi (per esempio: punto decimale o virgola, separatore fra i numeri...). Sto sparando un po' alla cieca, ma potresti guardare questa pagina per vedere se ti aiuta.
(Piccolo trucco veloce veloce: e se trasmetti come interi i dati moltiplicati per 10 e poi li dividi in LV?
)