From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Forum Italiano sui Prodotti NI

annulla
Visualizzazione dei risultati per 
Cerca invece 
Intendevi dire: 

utilizzo interfaccia USB

Devo interfacciarmi via USB con una scheda embedded dove mi posso gestire il numero di EP , il tipo di trasferimento USB ecc..

Vorrei far colloquiare con PC tramite LABVIEW: mi servirebbero alcuni esempi esplicativi su come gestire questo tipo di comunicazione e quindi anche cosa richiedere alla scheda embedded per consentire una corretta comunicazione.

Grazie per l'attenzione.

Cordialita'

G

 

0 Kudos
Messaggio 1 di 6
5.223Visualizzazioni

Ciao,

 

di che tipo di scheda si tratta? Che tipo di comunicazione/driver utilizza? Ti interessa comunicare con la scheda (acquisire dati...) o gestire i parametri della USB?

Con questi maggiori dettagli, spero di poterti indirzzare verso tutorial ed informazioni più utili.

Grazie.

 

Licia

0 Kudos
Messaggio 2 di 6
5.204Visualizzazioni

Ciao Licia,

grazie per l'attenzione.

La scheda e' una mia scheda embedded dove gestisco un PSOC della CYPRESS. Sto provando un programma di bulk In bulk Out della NI con LABVIEW ma non funziona.

Il programma e' molto semplice: uso un EP in uscita e un EP in ingresso.

Riporto di seguito il main:

 

 

void main (void) {
BYTE Tmp=0;

    INT_VC = 0;

    M8C_EnableGInt;                                 //Enable Global Interrupts

    USB_Start(0, USB_5V_OPERATION);              //Start USB Operation using device 0
                                                 //and with 5V operation
    while(!USB_bGetConfiguration());             //Wait for Device to enumerate

//Enumeration is completed load endpoint 1 (In Endpoint). Do not toggle the first time
    USB_INT_REG |= USB_INT_SOF_MASK | USB_INT_EP1_MASK | USB_INT_EP2_MASK;
    USB_LoadInEP(1, abOut, 40, USB_NO_TOGGLE);

    InitTimer8_1();                                  //Timer 8_1 initialization
    PGA_1_setup();                                   //Enable PGA 1
    CMP_1_setup();                                  //Enable CMP 1
    MUX_CR0 = 0x01;                                  //Init Keyboard scanner

    while (1) {                                      //Round Robin
      if (USB_bGetEPState(2) == EVENT_PENDING) { //Wait for USB Out EP event
        USB_bReadOutEP(2, &abIn, 1);             //Grab the 1st data byte

        USB_EnableOutEP(2);                         //Re-enable the Out EP
        USB_LoadInEP(1, abOut, 40, USB_TOGGLE);
      } //end if

    } // end of Round Robin
} //End Of Main
 

Volevo usarlo unitamente con il Vostro esempio USBRawBulkMain.vi e mi ritrovo con problemi di errore una volta che lancio il programma  .

Cosa puoi dirmi su questo programma VI?

C'e' qualcosa in alternativa?

Premetto che ho creato i driver INF usando la procedura nota labview.

Quello che mi accade e' che  facendo un bulk in di 20 caratteri (per esempio), avendo la stringa di init di 40 caratteri, riesco a vedere nella finestra BULKIN le parti che scrivo e con successivo bulk in vedo le parti rimanenti.

Poi mi da un errore il programma labview (non riesco in questo momento a ricrearlo) e il programma si blocca.

 

Avrei bisogno di qualcosa di piu' chiaro relativamente alla parte LABVIEW nella gestione eventi USB.

Come puoi vedere lato embedded e' veramente semplice.

Tieni conto che l'esempio che ti ho allegato in parte funziona con altri SW sotto windows.

Purtroppo none ssendo programmatore PC ma conoscendo solamente labview vorrei usare quest'ultimo.

 

Grazie in anticipo per le informazioni.

Ciao

 

0 Kudos
Messaggio 3 di 6
5.200Visualizzazioni

Ciao,

potrebbe magari essere utile qualche indicazione ulteriore sull'errore che hai ottenuto. 

Comunque, ecco il link un tutorial utile per il controllo di dispositivi USB con LabVIEW:

USB Instrument Control Tutorial

e alcuni esempi:

USB RAW Control Communication in LabVIEW

USB RAW Bulk Communication with LabVIEW

Spero ti siano utili.

 

Licia

0 Kudos
Messaggio 4 di 6
5.195Visualizzazioni

Ciao Licia,

grazie ma li avevo gia'.  La creazione driver non e' un problema mentre ho qualche problema a gestire gli eventi in labview.

non e' che hai altri esempi oltre a quelli che hai elencato?

Purtroppo lato embedded si conviene che l'emulatore non funzioni piu' sicche' ho difficolta' a tracciare gli eventi che si susseguono e definire il perche' non debba funzionare la comunicazione bulk.

Se hai qualcosa fammi sapere, sono un po' bloccato !!!

Ciao, grazie

 

0 Kudos
Messaggio 5 di 6
5.192Visualizzazioni

Ti stai riferendo agli eventi della struttura ad eventi presente nell'esempio LabVIEW che hai citato nei primi post?

Ottieni in LabVIEW qualche codice di errore specifico?

Grazie, ciao.

 

Licia

 

0 Kudos
Messaggio 6 di 6
5.189Visualizzazioni