home | area personale         schemi | tutorial | robotica | pic micro | recensioni         forum | chat irc         faq | contatti         store | Ordina PCB
username
password
cerca

 
FORUM: Pic Micro
Tutto quanto riguarda questi microprocessori... progetti, suggerimenti, aiuti, discussioni...ecc


Problema di fallimento della porta seriale soft di Arduino
     
Autore Messaggio opzioni
polooo





postato il:
12.07.2021, alle ore 09:07
Problema di fallimento della porta seriale soft di Arduino 

Ho incontrato una situazione in cui ho bisogno di 2 porte seriali morbide, una delle quali non funziona e non posso ottenere i dati. È stato scritto anche l'ascoltatore dello switch, ma ancora non funziona.
Il circuito hardware è a posto, e il codice è eseguibile dopo essere passato a un altro che usa solo un'interfaccia soft.
Mi manca qualcosa?

 #include <Arduino.h>
#include <SoftwareSerial.h>
SoftwareSerial GSMSerial(10, 11); // RX, TX
SoftwareSerial GpsSerial(5, 6); // RX, TX
#define DEBUGSerial Serial


void setup()
{
  DEBUGSerial.begin(9600);
  GSMSerial.begin(9600);
  Init();
  GpsSerial.begin(9600);
}
void loop()
{
  gpsRead();  //Acquisizione di dati GPS
  parseGpsBuffer();//Analisi dei dati GPS  
  printGpsBuffer();//Emettere i dati analizzati
  GSMSerial.end();
  if(tic == 0) {
    Init();
  }else{
    url = urlhead+"longitude="+llongitude+"&latitude="+llatitude;
    SendMessage();
  }
}
**Il seguente GSMSerial.available() non funziona, non Ã¨ in ascolto per essere precisi?**
void gpsRead() {
  GpsSerial.listen();
  while (GSMSerial.available())
  {
    gpsRxBuffer[ii++] = GSMSerial.read();
    if (ii == gpsRxBufferLength)clrGpsRxBuffer();
  }
    

}
void Init()
{
  GSMSerial.listen();
  DEBUGSerial.print("Inizializzazione, attendere prego");
  // AT
  GSMSerial.print("AT");  
   

}
 
double_wrap




una ogni 100 livelli
una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli


postato il:
12.07.2021, alle ore 17:54
Nel loop() c'e' l'istruzione
GSMSerial.end();
che chiude definitivamente la porta GSMSerial che era stata aperta nel setup().
Quindi non puoi piu' leggerla se non la riapri con una nuova GSMSerial.begin(9600)

Per passare da una porta all'altra basta usare le GSMSerial.listen(); e GpsSerial.listen(); che selezionano la porta da attivare e da cui leggere..

Pero' serve provare, magari e' tutt'altro.



"se peso cado, ma se cado non peso"
adamatj.altervista.org
polooo





postato il:
19.07.2021, alle ore 09:24
double_wrap:
Nel loop() c'e' l'istruzione
GSMSerial.end();
che chiude definitivamente la porta GSMSerial che era stata aperta nel setup().
Quindi non puoi piu' leggerla se non la riapri con una nuova GSMSerial.begin(9600)

Per passare da una porta all'altra basta usare le GSMSerial.listen(); e GpsSerial.listen(); che selezionano la porta da attivare e da cui leggere..

Pero' serve provare, magari e' tutt'altro.


Ok ho capito, grazie!
segui questo thread con grixFC, per questa funzione devi aver installato il software grixFC

torna su
     

Come utente anonimo puoi leggere il contenuto di questo forum ma per aprire una discussione
o per partecipare ad una discussione esistente devi essere registrato ed accedere al sito




 







 
 
indietro | homepage | torna su copyright © 2004/2024 GRIX.IT - La community dell'elettronica Amatoriale