Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Problemi con USB.Init()

Progetti, interfacciamento, discussioni varie su questa piattaforma.

Moderatori: Foto UtenteMassimoB, Foto UtenteWALTERmwp, Foto Utentexyz

0
voti

[11] Re: Problemi con USB.Init()

Messaggioda Foto Utentejova » 11 mag 2017, 10:32

Ah. Grazie :ok:
Avatar utente
Foto Utentejova
-1 2
New entry
New entry
 
Messaggi: 85
Iscritto il: 20 lug 2016, 21:56

0
voti

[12] Re: Problemi con USB.Init()

Messaggioda Foto Utentejova » 11 giu 2017, 18:56

Pensavo di risolvere e ho provato a sostituire il display a 7 segmenti con un lcd 1602 ma anche in questo caso il codice che inizializza la porta USB mi crea un problema analogo che consiste nel non visualizzare nulla sul display lcd. O meglio, se scrivo esplicitamente una stringa, lcd.print("Hello, me"), lo fa senza problemi, ma se quella stringa la metto in una variabile, non lo fa. Per garantirmi la correttezza del codice, faccio stampare la stessa cosa sul Serial Monitor, sul quale appare tutto correttamente.
Avatar utente
Foto Utentejova
-1 2
New entry
New entry
 
Messaggi: 85
Iscritto il: 20 lug 2016, 21:56

0
voti

[13] Re: Problemi con USB.Init()

Messaggioda Foto UtenteWALTERmwp » 12 giu 2017, 0:45

Riporta la dichiarazione e l'inizializzazione della variabile, oltre alla chiamata della funzione lcd.print che dovrebbe generare l'output utilizzando la variabile stessa.

Saluti
W - U.H.F.
Avatar utente
Foto UtenteWALTERmwp
27,6k 4 8 13
G.Master EY
G.Master EY
 
Messaggi: 8303
Iscritto il: 17 lug 2010, 18:42
Località: le 4 del mattino

0
voti

[14] Re: Problemi con USB.Init()

Messaggioda Foto Utentejova » 12 giu 2017, 12:33

Riporto la parte di codice che mi crea il problema.

Succede che se dal cellulare tramite bluetooth invio le tre parole in sequenza ( uno, due,tre)

uno --> sull'LCD "f"
due --> sull'LCD "ff"
tre --> rimane "ff"

sul Serial Monitor adesso appare la sequenza

ÿÿÿuÿÿnÿÿoÿÿ
ÿÿÿÿÿÿdÿÿÿÿÿÿuÿÿeÿÿ
ÿÿÿÿÿÿtÿÿÿÿÿÿrÿÿÿÿÿÿeÿÿ

Cioè, le parole vengono anche inviate ma appaiono anche quel carattere "ÿ" ripetuto che non capisco da dove arrivi

Codice: Seleziona tutto
#include <LiquidCrystal.h>
#include <USB.h>
#include <usbh_midi.h>
LiquidCrystal lcd(12, 11, 8, 7, 6, 5);

USB  USB;
USBH_MIDI  Midi(&USB);


String titolo;



void setup()
{
Serial.begin(115200); //start serial
lcd.begin(16, 2);

if (USB.Init() == -1)    // QUESTA RIGA E LA SUCCESSIVA
  {while(1);}            //  CAUSANO IL PROBLEMA
}   // end void setup


void loop() {
 



if( Serial.available()) { //check for serial
  char ch = Serial.read(); //serial message
 


if (ch == '<') {        //song name starts after this
 
  titolo = "";     //empty the variable
  for (int i=0; i<99; i++) {      //counter to make sure you don't get stuck in an infinite loop
    char ch2 = Serial.read();   //read the serial, and store to ch2
    if (ch2 == '>')     //last character of the transmission, so break
      break;
    else        //otherwise, add the character to the song name
      titolo += ch2;
       
  }
 
//lcd.clear();

lcd.setCursor(0,0);
lcd.print("                ");
lcd.print(titolo);
Serial.println(titolo);
     
}
   }


Avatar utente
Foto Utentejova
-1 2
New entry
New entry
 
Messaggi: 85
Iscritto il: 20 lug 2016, 21:56

0
voti

[15] Re: Problemi con USB.Init()

Messaggioda Foto Utentexyz » 12 giu 2017, 14:14

Come detto in precedenza e spero di non ripeterlo, dal codice che hai allagato se il dispositivo USB per qualche motivo non viene rilevato il micro controllore viene bloccato in un loop vuoto e da li non si sposta più.

I problemi sui caratteri strani ricevuti dalla seriale di solito dipende da una non corretta impostazione tra la seriale che trasmette e quella che riceve.
Avatar utente
Foto Utentexyz
6.819 2 4 6
G.Master EY
G.Master EY
 
Messaggi: 1758
Iscritto il: 5 dic 2009, 18:37
Località: Italy Turin

0
voti

[16] Re: Problemi con USB.Init()

Messaggioda Foto Utentejova » 12 giu 2017, 16:35

Visto che io sono tonto e tu gentilissimo con le parole, potresti dirmi dove hai espresso lo stesso concetto? Grazie

Edit: qui non si tratta che il programma vada in loop se non trova device perché i device li trova.
Avatar utente
Foto Utentejova
-1 2
New entry
New entry
 
Messaggi: 85
Iscritto il: 20 lug 2016, 21:56

0
voti

[17] Re: Problemi con USB.Init()

Messaggioda Foto Utentexyz » 12 giu 2017, 17:04

jova ha scritto:Visto che io sono tonto e tu gentilissimo con le parole, potresti dirmi dove hai espresso lo stesso concetto?

Alla risposta [2] di questo thread. Nell'ultimo codice esiste lo stesso codice in [1] con l'aggiunto del commento:

Codice: Seleziona tutto
...
if (USB.Init() == -1)    // QUESTA RIGA E LA SUCCESSIVA
  {while(1);}            //  CAUSANO IL PROBLEMA
...

Se il device USB viene inizializzato correttamente quel commento in teoria non ci dovrebbe essere.
Avatar utente
Foto Utentexyz
6.819 2 4 6
G.Master EY
G.Master EY
 
Messaggi: 1758
Iscritto il: 5 dic 2009, 18:37
Località: Italy Turin

0
voti

[18] Re: Problemi con USB.Init()

Messaggioda Foto Utentejova » 12 giu 2017, 19:01

Mi sarò spiegato male nel primo post, però al 3° ti avevo risposto.
Dalla tua risposta sembra che tu mi dica...guarda che se non trova il device, si inchioda in quel loop e cosi facendo non va ad attivare i pin che dici. Invece il device lo trova e fa tutto quello che dovrebbe fare tranne attivare quei pin. Ma adesso ho abbandonato l'idea del displa a 7 segmenti e vorrei risolvere con un lcd ma lo stesso loop, da cui esce, è il vincolo che impedisce al display di visualizzare bene qualcosa.

Semplicemente non ci stiamo intendendo, magari un po' irritando, quello sì ma non serve a risolvere :ok:
Avatar utente
Foto Utentejova
-1 2
New entry
New entry
 
Messaggi: 85
Iscritto il: 20 lug 2016, 21:56

1
voti

[19] Re: Problemi con USB.Init()

Messaggioda Foto Utentexyz » 12 giu 2017, 23:57

Ok ho capito che USB funziona :ok: Francamente consiglio di levare il commento se alleghi di nuovo il codice.

Il codice del LCD pare coretto.

Consiglio di verificare se coincidono bene i parametri di comunicazione tra i 2 dispositivi seriali.
Avatar utente
Foto Utentexyz
6.819 2 4 6
G.Master EY
G.Master EY
 
Messaggi: 1758
Iscritto il: 5 dic 2009, 18:37
Località: Italy Turin

0
voti

[20] Re: Problemi con USB.Init()

Messaggioda Foto Utentejova » 13 giu 2017, 8:14

Arduino e l'HC05 dovrebbero condividere lo stesso protocollo, con un baud rate di 115200, no parità e 1 bit di stop. Dico dovrebbero, perché i messaggi MIDI viaggiano anch'essi sulla seriale e vengono riconosciuti #-o
Avatar utente
Foto Utentejova
-1 2
New entry
New entry
 
Messaggi: 85
Iscritto il: 20 lug 2016, 21:56

PrecedenteProssimo

Torna a Arduino

Chi c’è in linea

Visitano il forum: Nessuno e 3 ospiti