bascom-arduino comunicazione su seriale

Sezione dedicata al sistema di sviluppo BASCOM-AVR per i micro AVR
At90s, Attiny, Atmega e Xmega

bascom-arduino comunicazione su seriale

Postby massibal » 31 Oct 2012, 15:44

Buongiorno...rieccomi con le solite domande BASIChe!!
quesito:

vorrei che quando la routine " test" è finita
>>Lcd "Test OFF"
>> Print "z"

mi invia sulla seriale una lettera "z" e
poi con il programma di visual basic leggo che è arrivata le lettera in questione e faccio eseguire un comando!

mi date qualche idea!
VB 6:

Rx = MSComm1.Input
If Len(Rx) Then
Text1.Text = Text1.Text & Rx
End If
If Len(Rx) = z Then
Shape17.FillColor = &HFF&

help !

grazie
massi
User avatar
massibal
 
Posts: 79
Joined: 06 Aug 2012, 11:08

Re: bascom-arduino comunicazione su seriale

Postby Fagos » 31 Oct 2012, 18:07

massibal quale è l'aiuto che cerchi, non mi è chiaro.

il tuo programma x arduino quando finisce fa: PRINT "z" ?

spedisci questa "z" a un programma VB6 che gira sul pc?

e allora cosa ti necessita, devi migliorare la routine VB6 per controllare la "z" o altro.
ciao
User avatar
Fagos
 
Posts: 100
Joined: 31 Aug 2011, 15:01

Re: bascom-arduino comunicazione su seriale

Postby massibal » 01 Nov 2012, 15:18

Ciao,
in effetti non sono stato chiarissimo..
il problema è questo :io uso print "z" per inviare un comando sulla com in modo che poi VB6 dovrebbe vedere che è arrivato "z" e quindi poi mi deve eseguire una semplice operazione ...tipo colorare una shape di rosso!

ora bascom invia correttamentre la "z" ma poi VB6 non esegue nulla ....

grazie

ciao
massi
User avatar
massibal
 
Posts: 79
Joined: 06 Aug 2012, 11:08

Re: bascom-arduino comunicazione su seriale

Postby deluca » 01 Nov 2012, 20:05

ciao massibal,
quindi stai inviando i dati tramite la seriale di arduino al pc su cui gira un applicativo VB6 per il quale devi scrivere il codice per la comm.

in che modalitàta stai gestendo l'"MScomm1.input" ? usando l'evento "onCom" o altro?

la porta assegnata è esatta, è aperta, è giusto settings (baud, bitstart, parity)?
hai configurato l'"RThreshold" , l' "InputLen" e l' "InputMode" ? e con che valori ?

ho visto il tuo semplice codice .... dove lo hai inserito ? ci sono alcune imperfezioni.....

puoi postare il codice in zip form?

ciao
Ciao
Il mio sito: http://www.delucagiovanni.com ......e la chat: chat/
User avatar
deluca
Site Admin
 
Posts: 1104
Joined: 19 Jun 2011, 10:44
Location: 95123 - Catania (Italy)

Re: bascom-arduino comunicazione su seriale

Postby massibal » 02 Nov 2012, 22:45

ciao,
ecco

Private Sub Form_Load()
Dim COM As Integer
COM = 0
COM = InputBox(" INSERISCI PORTA SERIALE ", "PORTA COM")
MSComm1.CommPort = COM
MSComm1.Settings = "19200,N,8,1"
MSComm1.RThreshold = 1
On Error Resume Next
MSComm1.PortOpen = True
Label3.Caption = "COM" & COM
Shape1.FillColor = &HFF00&
If Err Then
Shape1.FillColor = &HFF&
End If
End Sub

Private Sub MSComm1_OnComm()
Dim Rx As String
Rx = MSComm1.Input
If Len(Rx) Then ' legge il buffer di ricezione
Text1.Text = Text1.Text & Rx
End If
If Rx = z Then
Shape17.FillColor = &HFF&
End If
End Sub

in text1 io vedo arrivare la lettera "z" inviata da Bascom ...con il comando print "z" ... ma vb6 se ne frega !!
grazie
massi
User avatar
massibal
 
Posts: 79
Joined: 06 Aug 2012, 11:08

Re: bascom-arduino comunicazione su seriale

Postby flz47655 » 02 Nov 2012, 23:05

E' una vita che non programmo in VB6 ma mi sembra che nel confronto
Rx = z
devi mettere le virgolette ed eventualmente l caratteri di a capo, è minuscola la "z"?

Ciao
flz47655
 
Posts: 639
Joined: 19 Jan 2012, 21:16

Re: bascom-arduino comunicazione su seriale

Postby massibal » 02 Nov 2012, 23:33

ciao

già provato !!ma non va!
grazie
massi
User avatar
massibal
 
Posts: 79
Joined: 06 Aug 2012, 11:08

Re: bascom-arduino comunicazione su seriale

Postby flz47655 » 02 Nov 2012, 23:42

Se fai debug passo passo riesci a vedere cosa vale Rx?
flz47655
 
Posts: 639
Joined: 19 Jan 2012, 21:16

Re: bascom-arduino comunicazione su seriale

Postby massibal » 03 Nov 2012, 00:01

ci provo ! poi ti dico
domani però....
..grazie

tra le altre cose mi sai dire come fare per refreshare una textbox multilinea ...io ricevo dati stringa da seriale che vengon scritti nella textbox a 4 righe .. poi però vorrei che si cancellassero e lasciassero spazio alle nuove stringhe in arrivo .. non riesco--!! sei hai qualche idea

notte
User avatar
massibal
 
Posts: 79
Joined: 06 Aug 2012, 11:08

Re: bascom-arduino comunicazione su seriale

Postby flz47655 » 03 Nov 2012, 00:58

Ciao, sinceramente non mi ricordo più molto di VB6.. per cancellare la textbox bisogna impostare il testo ad una stringa vuota "", per aggiornarla devi reimpostare la proprietà text col nuovo testo (penso che vuoi fare quello)

Ad ogni modo sicuro che conviene studiare VB6 oggigiorno? Sono passati quasi tutti a C#

Ciao
flz47655
 
Posts: 639
Joined: 19 Jan 2012, 21:16

Re: bascom-arduino comunicazione su seriale

Postby legacy » 03 Nov 2012, 10:39

domandilla, usi VB6 su XP ? se si che VB6 stai usando ?
esiste liberamente scaricabile ? quanti MB occupa ?
legacy
 
Posts: 862
Joined: 12 Mar 2012, 11:30

Re: bascom-arduino comunicazione su seriale

Postby deluca » 03 Nov 2012, 12:59

@massibal,

il tuo codice se pur scritto in modo molto semplicistico a me funziona.
la (z) essendo un valore stringa deve essere racchiuso tra virgolette "z"
inoltre se vuoi azzerare il contenuto della textbox prima di stampare il valore nuovo puoi eseguire Text1.text=""
purtroppo in questa modalità sei costretto a trasferire e a controllare un carattere alla volta....visto che MSComm1.RThreshold = 1
esistono metodi molto più avanzati che utilizzano il buffer seriale in modo ma ricevere molti pacchetti di dati senza perdere nessun carattere(è quello che potrebbe succedere utilizzando l'evento onComm in questa modalità da te usata)

PS. ho aggiunto e rieditato qualche riga per debuggare meglio il tuo codice.
Code: Select all
Private Sub Form_Load()
    On Error Resume Next
    Dim COM As Integer
    COM = 0
    COM = InputBox(" INSERISCI PORTA SERIALE ", "PORTA COM")
        MSComm1.CommPort = COM
        MSComm1.Settings = "19200,N,8,1"
        MSComm1.RThreshold = 1
        MSComm1.PortOpen = True

        Label1.Caption = "COM" & COM
        Shape1.FillColor = &HFF00&
        If Err Then
            Shape1.FillColor = &HFF&
        End If
End Sub

Private Sub MSComm1_OnComm()
 Dim Rx As String
 Rx = MSComm1.Input
 Text1.text=""
 If Len(Rx) Then ' legge il buffer di ricezione
    Text1.Text = Rx
 End If
 
 If Rx = "z" Then
   
    Label1.Caption = Rx
    Shape2.FillColor = &HFF&
 
 End If
End Sub

Ciao
Il mio sito: http://www.delucagiovanni.com ......e la chat: chat/
User avatar
deluca
Site Admin
 
Posts: 1104
Joined: 19 Jun 2011, 10:44
Location: 95123 - Catania (Italy)

Re: bascom-arduino comunicazione su seriale

Postby massibal » 03 Nov 2012, 16:48

per Legacy
Visual Basic 6.0 per SO 32 bit- su win 7 -
su cd ( circa 500 MB ) --- mi ha dato qualche problema su 7 ma gira ugualmente!
ciao
User avatar
massibal
 
Posts: 79
Joined: 06 Aug 2012, 11:08

Re: bascom-arduino comunicazione su seriale

Postby massibal » 03 Nov 2012, 16:51

gentilissimo Deluca,
grazie mille ,
purtroppo non riesco a capire come sia possibile ma su pc ( nel textbox di vb) vedo arrivare la lettera "Z" ma purtroppo non accade nulla e la shape non cambia colore!

boh !!(come direbbe mio figlio !!)
saluti
massi
User avatar
massibal
 
Posts: 79
Joined: 06 Aug 2012, 11:08

Re: bascom-arduino comunicazione su seriale

Postby deluca » 03 Nov 2012, 20:14

Massibal,
se fai copia e incolla del codice che ho postato sopra vedrai che funzionerà tutto.
Se continui a lasciare la (zeta) senza virgolette il confronto (IF) non capirà che stiamo parlando di una costante stringa con contenuto (z), ma eseguirà un confronto con una variabile numerica z

'-- errore
If Rx = z Then
Shape17.FillColor = &HFF&
End If

'-- funziona
If Rx = "z" Then
Shape17.FillColor = &HFF&
End If

spero di essere stato chiaro.
ciao
Ciao
Il mio sito: http://www.delucagiovanni.com ......e la chat: chat/
User avatar
deluca
Site Admin
 
Posts: 1104
Joined: 19 Jun 2011, 10:44
Location: 95123 - Catania (Italy)

Re: bascom-arduino comunicazione su seriale

Postby flz47655 » 03 Nov 2012, 20:40

legacy wrote:domandilla, usi VB6 su XP ? se si che VB6 stai usando ?
esiste liberamente scaricabile ? quanti MB occupa ?


VB6 non è scaricabile liberamente, non è più possibile acquistarlo a meno di una MSDN Subscription, gli studenti in genere ne hanno una gratuita tramite l'università dove tra l'altro è possibile scaricare anche molto altro software.
Su Windows Vista/7/8 "funzionicchia" anche se XP è l'ideale

Io avevo iniziato proprio il mio "viaggio" con la "Learning Edition" di VB6

@massi: non è che il problema è il colore? Se è già quello non si nota il cambiamento..

Ciao
flz47655
 
Posts: 639
Joined: 19 Jan 2012, 21:16

Re: bascom-arduino comunicazione su seriale

Postby legacy » 03 Nov 2012, 20:48

un tempo si, e liberamente scaricabile! Io pero' non ricordavo il nome del prodotto

VB5 (demo) -> Visual Basic Control Creation Edition
VB6 (demo) -> Visual Basic 6 Working Model
"demo" significa che non compilano .exe, il resto e' circa full, a me va benissimo

in particolare il Working Model veniva allegato anche a riviste o book come questo
-> http://www.amazon.com/Learn-Microsoft-Visual-Basic-6-0/dp/073560729X/ref=sr_1_2?ie=UTF8&s=books&qid=1304722789&sr=8-2#_
fra l'altro il software delle ultime ristampe forse esiste "portable" e nel caso dovrebbe occupare meno di 10Mb !

@massibal
ottimo, e buono a sapersi se dovessi mai a passare oltre XP: vengo da un retaggio linux
XP l'ho messo su un muletto pentium3 con pochissimo disco fisso (10Gb, di cui 9 gia' pieni per tools di sviluppo)
l'ho preso espressamente perche' eseguendo Windows sotto macchina virtuale su macOSX (avevo solo un mac)
faccio molta fatica a virtualizzare l'hw che mi serve, p.e. USB, porta parallela
ma anche per usare accrocchi USB, anche solo USB<->UART ho problemi gravi e praticamente non funziona nulla.
Forse dovrei cambiare virtualizzatore. Invece con 20 euro in fiera ho tirato su un portatile scassone ed ho risolto.
legacy
 
Posts: 862
Joined: 12 Mar 2012, 11:30

Re: bascom-arduino comunicazione su seriale

Postby massibal » 04 Nov 2012, 10:09

@legacy...

ma in fiera al marc di genova ??

bye
User avatar
massibal
 
Posts: 79
Joined: 06 Aug 2012, 11:08

Re: bascom-arduino comunicazione su seriale

Postby legacy » 04 Nov 2012, 10:24

Friedrichshafen, tempo fa
c'ero andato per altri motivi, poi mi sono fatto un giro in fiera
ed ho tirato su il muletto IBM thinkpad con meno di 2 min di batteria :lol:
IBM thinkpad T23, Pentium3@800Mhz, 512Mb ram, 10Gb disco, alimentatore: 20 euro
Da noi, Milano, Erba, Busto Arsizio, le fiere delle mie parti, come minimo chiedevano 70-90 euro.
legacy
 
Posts: 862
Joined: 12 Mar 2012, 11:30

Re: bascom-arduino comunicazione su seriale

Postby massibal » 04 Nov 2012, 10:57

Buongiorno Deluca...
"abbiamo un problema" !!!! avevo già inserito il tuo codice ma non funziona!!

Private Sub Form_Load()
On Error Resume Next
Dim COM As Integer
COM = 0
COM = InputBox(" INSERISCI PORTA SERIALE ", "PORTA COM")
MSComm1.CommPort = COM
MSComm1.Settings = "19200,N,8,1"
MSComm1.RThreshold = 1
MSComm1.PortOpen = True

Label3.Caption = "COM" & COM
Shape1.FillColor = &HFF00&
If Err Then
Shape1.FillColor = &HFF&
End If
End Sub

Private Sub MSComm1_OnComm()
Dim Rx As String
Rx = MSComm1.Input
If Len(Rx) Then
Text1.Text =Text1.text & Rx
End If

If Rx = "z" Then
Shape2.FillColor = &HFF&
End If
End Sub

idee?
massi
User avatar
massibal
 
Posts: 79
Joined: 06 Aug 2012, 11:08

Next

Return to BASCOM-AVR

Who is online

Users browsing this forum: No registered users and 9 guests