Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    Comunicazione con la seriale

    Ho un problemino.
    Devo comunicare con un telecomando seriale.
    Questo manda una stringa che può contenere + oppure -

    fin qui ok, leggo, ma ho dovuto mettere un controllo timer e all'interno:
    TextBox1.Text = ""
    If a = 45 Then
    TextBox1.Text = "-"
    Else
    TextBox1.Text = "+"
    End If

    questo perchè se nell'evento:

    Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
    a = SerialPort1.ReadByte
    TextBox1.Text = a
    End Sub

    a è una variabile string pubblica, va in errore sulla riga texbox, dice impossibile assegnare.


    Per inviare dati al telec. ho scritto questo codice.
    Chi ha realizzato il telecomando ha detto che accetta valori ascii per far comparire un numero:

    SerialPort1.Encoding = System.Text.Encoding.ASCII
    Dim VIASER As String
    VIASER = "#008" 'oppure "#008\n"
    SerialPort1.Write(VIASER)

    ma non funziona sul display del telec. non si visualizza il numero 8.

    Allora ho scaricato un file terminale.exe e se scivo #008 poi clicco send, sul telec. si visualizza 8.
    Quindi il telec. funziona.

    Cosa sbaglio?
    Sviluppo per passione

  2. #2
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    Non è che devi passarli come byte o con altra codifica ???.

  3. #3
    Originariamente inviato da cassano
    Non è che devi passarli come byte o con altra codifica ???.
    e come faccio a passargli come byte?
    Lui ha detto che accetta 1 byte per volta.
    Sviluppo per passione

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Moderazione

    Il linguaggio va sempre indicato anche nel titolo, come da Regolamento.

    Qui l'ho aggiunto io.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    Non ho ben capito cosa devi inviare e ricevere ma secondo me sbagli il tipo di dato. Ho lavorato parecchio sulla porta seriale quindi se mi fai capire magari posso aiutarti.

  6. #6
    Originariamente inviato da alby_mo
    Non ho ben capito cosa devi inviare e ricevere ma secondo me sbagli il tipo di dato. Ho lavorato parecchio sulla porta seriale quindi se mi fai capire magari posso aiutarti.
    molto semplicemente:
    dal telec. mi arriva 43 se si è premuto il tasto + e 45 se si è premuto il tasto -
    43 e 45 corrispondono ai decimali di + e -
    Fin qui ok, leggo.

    Poi devo inviare un numero calcolato al telec.

    Con terminal.exe scrivo #008 premo send e sul display del telec. compare appunto 8

    Con serialport? cosa devo inviare?
    Sviluppo per passione

  7. #7
    Originariamente inviato da pedro8a
    molto semplicemente:
    dal telec. mi arriva 43 se si è premuto il tasto + e 45 se si è premuto il tasto -
    43 e 45 corrispondono ai decimali di + e -
    Fin qui ok, leggo.

    Poi devo inviare un numero calcolato al telec.

    Con terminal.exe scrivo #008 premo send e sul display del telec. compare appunto 8

    Con serialport? cosa devo inviare?
    Si ma che tipo di dato devi inviare? Perchè detta così devi inviare il numero 8. Hai provato a mandare una stringa con quel dato?

  8. #8
    Originariamente inviato da alby_mo
    Si ma che tipo di dato devi inviare? Perchè detta così devi inviare il numero 8. Hai provato a mandare una stringa con quel dato?
    Ho provato con 8 "#008" "#008\n" e altro sempre come variabile di tipo string

    Ecco il codice:

    SerialPort1.Encoding = System.Text.Encoding.ASCII
    Dim VIASER As String
    VIASER = "#008" 'oppure "#008\n" oppure "8" oppure"#008\n\c"
    SerialPort1.Write(VIASER)

    Quello che posso dirti è che il mio amico che ha fatto il telec. ha detto che accetta 1 byte per volta.

    Non sò più che provare........
    Sviluppo per passione

  9. #9
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    allora prova ad inviare un byte e non una stringa.

  10. #10
    Originariamente inviato da cassano
    allora prova ad inviare un byte e non una stringa.
    E come si fà???
    Sviluppo per passione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.