Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Ricerca personalizzata

Problemi con USB.Init()

Progetti, interfacciamento, discussioni varie su questa piattaforma.

Moderatori: Foto UtenteMassimoB, Foto UtenteWALTERmwp, Foto Utentexyz

0
voti

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

Messaggioda Foto Utentejova » 18 giu 2017, 10:38

Ma.........per DUE dispositivi seriali ti riferivi per caso a HC05 e 1602 LCD o Arduino e HC05 ? #-o
Se anche il display 16x2 deve avere lo stesso baud rate della seriale, inizializzato con Serial.begin (baud rate), allora forse si spiega tutto, perché ho letto che il display 1602 non va oltre 38400 mentre nel mio caso la seriale è inizializzata a 115200 baud ?%
Avatar utente
Foto Utentejova
-1 2
New entry
New entry
 
Messaggi: 71
Iscritto il: 20 lug 2016, 21:56

0
voti

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

Messaggioda Foto Utentexyz » 18 giu 2017, 14:37

RS-232 è una comunicazione seriale asincrona, il trasmettitore e il ricevitore devono avere le stesse impostazioni altrimenti i dati trasmessi non sono ricevuti correttamente. Nel tuo caso devi verificare le impostazioni della seriale tra l'adattatore bluetooth e il microcontrollore.

I2C è una comunicazione seriale sincrona, il master impone il clock allo slave sia in trasmissione che in ricezione.

Le due comunicazione sul microncrollore utilizzato sono su porte diverse e indipendenti.

Il display che tu chiami 1602 LCD è in realtà un display HD44780 con un bus parallelo collegato a un I/O expander I2C, di solito un PCF8574, la cui frequenza di clock non è significativa, quello che conta è rispettare le tempistiche dei comandi inviati al driver del display LCD.
Avatar utente
Foto Utentexyz
4.622 2 4 5
Master EY
Master EY
 
Messaggi: 1194
Iscritto il: 5 dic 2009, 18:37
Località: Italy Turin

0
voti

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

Messaggioda Foto Utentejova » 18 giu 2017, 15:09

Ehm...che vuoi dire con " rispettare le tempistiche dei comandi inviati al driver del display LCD." ?

Edit:
se volessi modificare il baud rate dell' HC05 da 115200 a 38400, come dovrei fare ?

Edit 2:

ricordo dia vere tribolato parecchio la prima volta e non ricordo la procedura che mi ha permesso di entrare in modalità AT, ma adesso le sto riprovando tutte, anche quella di togliere l'ATMEGA, ma nonostante il led lampeggi lentamente quando dò AT non risponde OK
Avatar utente
Foto Utentejova
-1 2
New entry
New entry
 
Messaggi: 71
Iscritto il: 20 lug 2016, 21:56

0
voti

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

Messaggioda Foto Utentexyz » 18 giu 2017, 15:49

jova ha scritto:Ehm...che vuoi dire con " rispettare le tempistiche dei comandi inviati al driver del display LCD." ?

Devi leggere il datasheet del display HD44780:

https://www.sparkfun.com/datasheets/LCD/HD44780.pdf

a pagina 24 ci sono i comandi da inviare al bus parallelo con le tempistiche di esecuzione, questa cosa viene fatta dalla libreria software di pilotaggio, se non vengono rispettate LCD ignora i comandi o si comporta in modo indesiderato.

jova ha scritto:se volessi modificare il baud rate dell' HC05 da 115200 a 38400, come dovrei fare ?

Anche qui come per la maggior parte dei dispositivi elettronici bisogna leggere il datasheet:

http://www.linotux.ch/arduino/HC-0305_s ... evised.pdf

dovrebbe essere il comando "AT+UART=....." ma dipende anche dalla versione del firmware installata.
Avatar utente
Foto Utentexyz
4.622 2 4 5
Master EY
Master EY
 
Messaggi: 1194
Iscritto il: 5 dic 2009, 18:37
Località: Italy Turin

0
voti

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

Messaggioda Foto Utentejova » 18 giu 2017, 16:08

il secondo punto l'ho risolto, ovvero modifica del baud rate del modulo HC05. Per il primo mi attrezzerò
Avatar utente
Foto Utentejova
-1 2
New entry
New entry
 
Messaggi: 71
Iscritto il: 20 lug 2016, 21:56

0
voti

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

Messaggioda Foto Utentejova » 18 giu 2017, 16:34

Ho letto, allora questo non rispetto dei tempi di esecuzione che dici tu dovrebbe essere legato alla presenza del USB.Init( ), perché senza questa istruzione il display visualizza alla velocità della luce mentre quando c'è quella istruzione si blocca del tutto.
Avatar utente
Foto Utentejova
-1 2
New entry
New entry
 
Messaggi: 71
Iscritto il: 20 lug 2016, 21:56

0
voti

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

Messaggioda Foto UtenteWALTERmwp » 19 giu 2017, 8:12

jova ha scritto:Ehm...che vuoi dire con " rispettare le tempistiche dei comandi inviati al driver del display LCD." ?
(...)
come ormai ti sarai reso conto il criterio di gestione e controllo di quei display fa riferimento a regole diverse rispetto a quelle di una trasmissione seriale (anche se poi per interfacciarsi con il display stesso si può ricorrere ad un componente con il quale si comunica in modalità seriale).
Forse potrebbe aiutarti ad avere una maggiore visione dell'insieme una lettura di articoli come questo, di Foto UtentePaolino.

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

0
voti

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

Messaggioda Foto Utentejova » 19 giu 2017, 9:09

Hai ragione, in effetti mi sono reso conto di tante altre cose...a proposito, anche il misterioso "componente con il quale si comunica in modalità seriale" devo scoprirmelo da solo ?
Avatar utente
Foto Utentejova
-1 2
New entry
New entry
 
Messaggi: 71
Iscritto il: 20 lug 2016, 21:56

0
voti

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

Messaggioda Foto UtenteWALTERmwp » 19 giu 2017, 9:26

jova ha scritto:(...) anche il misterioso "componente (...)
quale ?

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

Precedente

Torna a Arduino

Chi c’è in linea

Visitano il forum: Nessuno e 4 ospiti