Pages: 1 ... 5 6 [7] 8   Go Down
Author Topic: problema con SoftwareSerial e NewSoftSerial  (Read 4265 times)
0 Members and 1 Guest are viewing this topic.
Camisano Vicentino (VI), Italy
Offline Offline
God Member
*****
Karma: 4
Posts: 952
ƎR like no other.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

si ho appena notato smiley ma mi chiedevo per la sola trasmisione c'è bisogno dei 2 collegamenti o ne basta anche solo uno tra il TX e RX?
Logged

Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

Monselice PD Italy
Offline Offline
Faraday Member
**
Karma: 26
Posts: 5480
фон Крыса
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

in teoria ne dovrebbe bastare una, però mi par d'aver letto che uno dei due pin serve per sincronizzare la comunicazione in fase di partenza... fai una prova al volo... al momento non ho i tiny collegati per provare...
Logged

Se corri veloce come un fulmine, ti schianterai come un tuono.

Camisano Vicentino (VI), Italy
Offline Offline
God Member
*****
Karma: 4
Posts: 952
ƎR like no other.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

ok adesso non ho nessun arduino sotto mano, domani provo... è che sto progettando un circuito stampato e mi risparmierei un collegamento "inutile" se inutile è smiley
Logged

Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

0
Online Online
Shannon Member
****
Karma: 117
Posts: 10112
:(){:|:&};: TOX id: fcb8e918bef08581e23f6ddf9d4dba77697c25b217bf372736ed959a95fde36df5b8c5b90fbb
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ne basta solo uno senza problemi
Logged

my Arduino code: https://github.com/lestofante/arduinoSketch
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Camisano Vicentino (VI), Italy
Offline Offline
God Member
*****
Karma: 4
Posts: 952
ƎR like no other.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

ok grazie mille! smiley-wink
Logged

Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

Global Moderator
Italy
Online Online
Brattain Member
*****
Karma: 313
Posts: 21650
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Provate la NewSoftSerial con la ultima modifica, così mi fate sapere se va.
Logged


Camisano Vicentino (VI), Italy
Offline Offline
God Member
*****
Karma: 4
Posts: 952
ƎR like no other.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

purtroppo, sono molto impegnato con la scuola in quuesti giorni smiley-sad ma proverò il prima possibile smiley-wink
Logged

Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

Camisano Vicentino (VI), Italy
Offline Offline
God Member
*****
Karma: 4
Posts: 952
ƎR like no other.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

non ho ancora provato la newsoftware serial con le ultime modifiche sui tiny smiley-sad
però oggi stavo provando la newsoftware serial con 2 arduino mega...
ho caricato questo codice su entrambi:
Code:
#include <NewSoftSerial.h>
NewSoftSerial er(62, 63);

void setup() 
{
  Serial.begin(9600);
  er.begin(9600);
}

void loop()
{
 if (er.available())
 Serial.print((char)er.read());

 if (Serial.available()){
 er.print((char)Serial.read());}
}

e ho collegato gli rx e tx creati da software tra loro. quindi aprendo contemporaneamente i 2 serial monitor dovrei inviare un dato da uno e riceverlo sull'altro, ma questo non succede... analizzando con qualche led mi pare che il problema sia in ricezione perchè c'è una variazione del segnale ma non viene percepita dall'arduino ricevitore

qualcuno sa perchè succede ciò? ho dimenticato qualcosa? (arrivo da un periodo di inattività smiley-sweat )
grazie a tutti in anticipo smiley-wink
Logged

Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

Camisano Vicentino (VI), Italy
Offline Offline
God Member
*****
Karma: 4
Posts: 952
ƎR like no other.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

confermo che il problema è in ricezione... è strano perchè c'è un esempio molto simile anche sul reference  smiley-confuse
http://arduino.cc/en/Reference/SoftwareSerial
Logged

Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

Camisano Vicentino (VI), Italy
Offline Offline
God Member
*****
Karma: 4
Posts: 952
ƎR like no other.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

sono riuscito a capire che non è colpa della libreria, o almeno con un arduino 2009 funziona...
forse è perchè nel pin 62 del mega non è abilitato a ricevere  smiley-confuse  ma nel reference c'è scritto che può essere usato, qualcuno mi da una mano a capire meglio la situazione?
grazie smiley
Logged

Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

Camisano Vicentino (VI), Italy
Offline Offline
God Member
*****
Karma: 4
Posts: 952
ƎR like no other.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

alla fine ce l'ho fatta da solo smiley-lol adesso va, ho scaricato la versione newsoftserial12 e ho inserito la funzione listen... ma sinceramente non so quale di questi passaggi sia quello che ha determinato il funzionamento smiley-sweat, qualcuno sa spiegarmelo? grazie smiley

Code:
#include <NewSoftSerial.h>
NewSoftSerial er(62,63);

void setup() 
{
 Serial.begin(9600);
 er.begin(9600);
}

void loop()
{
 er.listen();
 if(er.available())
 Serial.print((char)er.read());

 if (Serial.available()){
 er.print((char)Serial.read());}
}
Logged

Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

0
Online Online
Shannon Member
****
Karma: 117
Posts: 10112
:(){:|:&};: TOX id: fcb8e918bef08581e23f6ddf9d4dba77697c25b217bf372736ed959a95fde36df5b8c5b90fbb
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

stai usando l'ide arduino 1.0, che modifica un bel pò le librerie.

in particolare nel tuo caso aggiunge l'istruzione: listen(); che attiva l'ascolto della classe NewSoftSerial. Questo perchè solo una NewSoftSerial alla volta può funzionare (questione di tempi di risposta credo), e quindi per poter avere più seriali virtuali hanno adottato questo trucco per attivare la NewSoftSerial corrispondente.

altre info: http://arduino.cc/en/Reference/SoftwareSerialListen

ps. USA IL REFENCE, ti risparmi un sacco di sbattimenti inutili
Logged

my Arduino code: https://github.com/lestofante/arduinoSketch
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Camisano Vicentino (VI), Italy
Offline Offline
God Member
*****
Karma: 4
Posts: 952
ƎR like no other.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

no, sto usando la 0022 e i refence li ho già letti quasi tutti... tuttavia non ho capito gran che... smiley-red
io dovrei utilizzare 3 seriali sw e 3 seriali hw, ma non riesco a far andare 3 seriali sw contemporaneamente... una sola si ma 3 no...  smiley-confuse

ma siccome 4 di queste seriali vengono utilizzate 1 alla volta potrei collegarle tutte assieme su un rx hw e farle andare una alla volta con degli enable, no? si tratta di un arduino che deve ricevere, solo ricevere, dei dati da 4 ATtiny, quindi potrei impostare i tiny che quando non devono inviare dati il pin tx diventa rx.... non so se mi sono spiegato bene  smiley-sweat secondo voi è fattibile?? o è un'idea che funzionaa solo nella mia testa
Logged

Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

Global Moderator
Italy
Online Online
Brattain Member
*****
Karma: 313
Posts: 21650
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Come ti ha detto Lesto, non puoi mettere in ascolto più di una seriale software contemporaneamente.

Ma se i dati devono arrivare tutti ad un Arduino, perché non usi il bus I2C?
Per i Tiny esiste una libreria TinyWire che implementa la I2C via software. Ad ogni Tiny assegni un ID differente e poi fai spedire tutto all'Arduino. Alla ricezione dei dati, sai già chi ha spedito grazie all'I2C.
Logged


Camisano Vicentino (VI), Italy
Offline Offline
God Member
*****
Karma: 4
Posts: 952
ƎR like no other.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

eheh lo so, ma a me non piace usare la I2C perchè non sono ancora riuscito a capire come funziona  smiley-sweat
se provo a fare quello che ho detto prima, secondo voi può funzionare?
Logged

Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

Pages: 1 ... 5 6 [7] 8   Go Up
Jump to: