Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio
Grazie ad un mocio rotante che viene costantemente bagnato e pulito, Narwal Flow assicura un completo e capillare lavaggio dei pavimenti di casa. La logica di intellignza artificiale integrata guida nella pulizia tra i diversi locali, sfruttando un motore di aspirazione molto potente e un sistema basculante per la spazzola molto efficace sui tappeti di casa
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi
Con un prezzo di 2.999 euro, il Panasonic Z95BEG entra nella fascia ultra-premium dei TV OLED: pannello Primary RGB Tandem, sistema di raffreddamento ThermalFlow, audio Technics integrato e funzioni gaming avanzate lo pongono come un punto di riferimento
HONOR Magic V5: il pieghevole ultra sottile e completo! La recensione
HONOR Magic V5: il pieghevole ultra sottile e completo! La recensione
Abbiamo provato per diverse settimane il nuovo Magic V5 di HONOR, uno smartphone pieghevole che ci ha davvero stupito. Il device è il più sottile (solo 4.1mm) ma non gli manca praticamente nulla. Potenza garantita dallo Snapdragon 8 Elite, fotocamere di ottima qualità e batteria in silicio-carbonio che garantisce un'ottima autonomia. E il Prezzo? Vi diciamo tutto nella nostra recensione completa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 22-08-2011, 23:36   #1
AngryAlex
Junior Member
 
L'Avatar di AngryAlex
 
Iscritto dal: Jun 2011
Messaggi: 24
[C#] problema con stringhe provenienti da Arduino

Salve, ho la necessita' di leggere dei dati tramite porta seriale che mi vengono inviati da una scheda Arduino. Il problema e' che la variabile stringa del programmino c# che uso, invece di immagazzinare una stringa alla volta, ne immagazzina una, due....quattro o cinque alla volta creandomi notevoli problemi. Il numero di stringhe nella variabile sembra essere random.

Allego un po di codici.
Arduino:

Codice:
void loop () {
   
    if(PSButton(PSB_PAD_RIGHT))
     Serial.println("Right");
   }
Programma in C#:
Codice:
 private void DisplayText(object sender, EventArgs e)
        {
           textBox1.AppendText(RxString);

              
        }

        private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
        {
            
             RxString = serialPort1.ReadExisting();
            

            this.Invoke(new EventHandler(DisplayText));
        }
Nella textbox mi stampa una cosa del genere:

Codice:
Right
RightRightRight
RightRight
RightRight
Right
RightRight
RightRightRight
RightRightRightRightRight
RightRight
Right
RightRightRightRight
RightRight
RightRight
RightRightRight
In pratica ad ogni riga qui sopra corrisponde il contenuto della variabile RxString.

Come posso ottenere sempre e solo una stringa nella variabile?
Grazie!
AngryAlex è offline   Rispondi citando il messaggio o parte di esso
Old 23-08-2011, 09:28   #2
ESSE-EFFE
Member
 
Iscritto dal: May 2009
Messaggi: 186
Quote:
Originariamente inviato da AngryAlex Guarda i messaggi
Codice:
void loop () {
   
    if(PSButton(PSB_PAD_RIGHT))
     Serial.println("Right");
   }
Non conosco l'hardware e non so cosa faccia la PSButton, ma se si limita a ritornare lo stato del pulsante, direi che potrebbe servirti un sistema di antirimbalzo.
__________________
ESSE-EFFE.com
Sviluppo software e Web
Creazione loghi - Bergamo
ESSE-EFFE è offline   Rispondi citando il messaggio o parte di esso
Old 23-08-2011, 10:07   #3
AngryAlex
Junior Member
 
L'Avatar di AngryAlex
 
Iscritto dal: Jun 2011
Messaggi: 24
Quote:
Originariamente inviato da ESSE-EFFE Guarda i messaggi
Non conosco l'hardware e non so cosa faccia la PSButton, ma se si limita a ritornare lo stato del pulsante, direi che potrebbe servirti un sistema di antirimbalzo.
Sei gia' il secondo a dirmelo...mi sa che provero' questa strada Thanks!
AngryAlex è offline   Rispondi citando il messaggio o parte di esso
Old 23-08-2011, 13:42   #4
U235
Member
 
Iscritto dal: Nov 2009
Messaggi: 56
Quote:
Originariamente inviato da AngryAlex Guarda i messaggi
Salve, ho la necessita' di leggere dei dati tramite porta seriale che mi vengono inviati da una scheda Arduino. Il problema e' che la variabile stringa del programmino c# che uso, invece di immagazzinare una stringa alla volta, ne immagazzina una, due....quattro o cinque alla volta creandomi notevoli problemi. Il numero di stringhe nella variabile sembra essere random.

Allego un po di codici.
Arduino:

Codice:
void loop () {
   
    if(PSButton(PSB_PAD_RIGHT))
     Serial.println("Right");
   }
Programma in C#:
Codice:
 private void DisplayText(object sender, EventArgs e)
        {
           textBox1.AppendText(RxString);

              
        }

        private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
        {
            
             RxString = serialPort1.ReadExisting();
            

            this.Invoke(new EventHandler(DisplayText));
        }
Nella textbox mi stampa una cosa del genere:

Codice:
Right
RightRightRight
RightRight
RightRight
Right
RightRight
RightRightRight
RightRightRightRightRight
RightRight
Right
RightRightRightRight
RightRight
RightRight
RightRightRight
In pratica ad ogni riga qui sopra corrisponde il contenuto della variabile RxString.

Come posso ottenere sempre e solo una stringa nella variabile?
Grazie!
ciao,
hai provato a far scrivere la stringa ad arduino aggiungendo un carattere di fine riga? tipo un NewLine
(quello da te definito) e per leggere usi .ReadLine()
__________________
Un elemento come me quando si fissa fa sempre un gran casino, ma solo nel 45 ciò è stato negativo . Little Boy era mio nonno
U235 è offline   Rispondi citando il messaggio o parte di esso
Old 23-08-2011, 22:56   #5
AngryAlex
Junior Member
 
L'Avatar di AngryAlex
 
Iscritto dal: Jun 2011
Messaggi: 24
Ho risolto usando ReadLine() anziche' ReadExisting(), mi perdevo in un bicchiere d'acqua....

Comunque il problema era quello, ci hai preso

Grazie ciao!!
AngryAlex è offline   Rispondi citando il messaggio o parte di esso
Old 24-08-2011, 09:15   #6
U235
Member
 
Iscritto dal: Nov 2009
Messaggi: 56
Quote:
Originariamente inviato da AngryAlex Guarda i messaggi
Ho risolto usando ReadLine() anziche' ReadExisting(), mi perdevo in un bicchiere d'acqua....

Comunque il problema era quello, ci hai preso

Grazie ciao!!


di nulla.

Ciao.
__________________
Un elemento come me quando si fissa fa sempre un gran casino, ma solo nel 45 ciò è stato negativo . Little Boy era mio nonno
U235 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio Narwal Flow: con il mocio orizzontale lava i pav...
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi Panasonic 55Z95BEG cala gli assi: pannello Tande...
HONOR Magic V5: il pieghevole ultra sottile e completo! La recensione HONOR Magic V5: il pieghevole ultra sottile e co...
Recensione Google Pixel 10 Pro XL: uno zoom 100x assurdo sempre in tasca (e molto altro) Recensione Google Pixel 10 Pro XL: uno zoom 100x...
Lenovo IdeaPad Slim 3: un notebook Snapdragon X economico Lenovo IdeaPad Slim 3: un notebook Snapdragon X ...
Anker protagonista a IFA 2025 con robot ...
I computer classici sono multi-core, e l...
Google Foto anima i tuoi scatti: arriva ...
Street Fighter: svelato il cast completo...
Microsoft rinvia le ISO di Windows 11 25...
TCL presenta NXTPAPER 60 Ultra e MOVETIM...
Il ritorno di Honda Prelude in chiave el...
Windows 11: disponibile finalmente lo st...
Oggi su Amazon ci sono 27 articoli super...
Ecco qui le migliori offerte sugli smart...
Mark Zuckerberg contro Mark Zuckerberg: ...
Amazon Seconda Mano (ex Warehouse): scon...
Mini PC Ryzen 5 e 7, costano come quelli...
Trump riunisce i CEO tech alla Casa Bian...
Agrivoltaico, approvato a Città d...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 12:41.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v