Pages: [1]   Go Down
Author Topic: INTERRUPT e VIRTUALWIRE  (Read 341 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Sr. Member
****
Karma: 2
Posts: 407
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao Ragazzi, per sincronizzare la trasmissione e la ricezione stavo pensando di usare gli interrupt qualcuno di voi ci ha già provato ?

In questo modo lascerei nel loop arduino in rx e lo metterei in tx quando viene premuto un pulsante del keypad, a quel punto il ricevente riceve il messaggio aspetta qualche millesecondo e trasmette indietro il suo stato e per sicuro il trasmitte che ha inviato il messaggio principale riceverà il messaggio di ritorno in quanto è uscito dall'interrupt ed è tornato nella modalità di rx ...

cosa ne pensate ? avete visto qualche esempio in giro ?

Andrea
Logged

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

Non conosco VirtualWire né come opera, su che pin lavora, come è gestita ecc..
Non so se ci sono controindicazioni ad usare gli interrupt (e poi non ho capito come vorresti farlo).
Logged


Offline Offline
Sr. Member
****
Karma: 2
Posts: 407
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

In pratica i pin che utilizza virtual wire sono di default:

11 - RX
12 - TX
ma possono essere definitivi a piacimento.

io utilizzo un keypad per trasmettere (che va da 0 a 9 con * e # ), adesso succede che nel loop mi trovo a gestire tx ed rx questo significa che se non sincronizzo al 100 % le due cose rischio di perdere qualche pezzo, inoltre il programma rischia diventare confuso a livello di logica ...
con gli interrupt posso alzare la trasmissione solamente quando schiaccio il pulsante del keypad appena finisci la trasmissione, spegni l'interrupt torni nel main del programma e ti rimetti in rx ... Così dall'altra parte il ricevitore una volta ricevuto il dato potrà mandare indietro la risposta ...

se hai bisogno di altre info chiedimi pure grazie mille
Logged

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 234
Posts: 20166
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao Ragazzi, per sincronizzare la trasmissione e la ricezione stavo pensando di usare gli interrupt qualcuno di voi ci ha già provato ?

In questo modo lascerei nel loop arduino in rx e lo metterei in tx quando viene premuto un pulsante del keypad, a quel punto il ricevente riceve il messaggio aspetta qualche millesecondo e trasmette indietro il suo stato e per sicuro il trasmitte che ha inviato il messaggio principale riceverà il messaggio di ritorno in quanto è uscito dall'interrupt ed è tornato nella modalità di rx ...

cosa ne pensate ? avete visto qualche esempio in giro ?

Andrea
Ma sei sicuro che la libreria non lavora giá coi interrupt e depone i dati ricevuti in un buffer?
Ciao Uwe
Logged

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

l'altro giorno ho dato uno sguardo veloce alla libreria e mi pare di ricordare di aver visto i buffer per gli interrupt, sia in entrata che in uscita
Logged

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

Offline Offline
Sr. Member
****
Karma: 2
Posts: 407
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao, io ho provato a guardare la libreria l'ho fatta passare ma non ho visto riferimenti agli interrupt (.... :-( ) ...

ho provato a mettere un post anche su l'altro forum ...

http://arduino.cc/forum/index.php/topic,99801.0.html

diversamente verrebbe un casino gestendo tutto nel loop :-(
Logged

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

Ho guardato la libreria, attiva il timer1 e poi gestisce un interrupt agganciato a quel timer. Ma non so che relazione abbia con RX e TX, non ho indagato.
Logged


Pages: [1]   Go Up
Jump to: