Torna indietro   Hardware Upgrade Forum > Software > Programmazione

iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile
iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile
C'è tanta sostanza nel nuovo smartphone della Mela dedicato ai creator digitali. Nuovo telaio in alluminio, sistema di raffreddamento vapor chamber e tre fotocamere da 48 megapixel: non è un semplice smartphone, ma uno studio di produzione digitale on-the-go
Intel Panther Lake: i processori per i notebook del 2026
Intel Panther Lake: i processori per i notebook del 2026
Panther Lake è il nome in codice della prossima generazione di processori Intel Core Ultra, che vedremo al debutto da inizio 2026 nei notebook e nei sistemi desktop più compatti. Nuovi core, nuove GPU e soprattutto una struttura a tile che vede per la prima volta l'utilizzo della tecnologia produttiva Intel 18A: tanta potenza in più, ma senza perdere in efficienza
Intel Xeon 6+: è tempo di Clearwater Forest
Intel Xeon 6+: è tempo di Clearwater Forest
Intel ha annunciato la prossima generazione di processori Xeon dotati di E-Core, quelli per la massima efficienza energetica e densità di elaborazione. Grazie al processo produttivo Intel 18A, i core passano a un massimo di 288 per ogni socket, con aumento della potenza di calcolo e dell'efficienza complessiva.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 02-02-2005, 08:00   #1
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
[VB] COMM Control

Ciao ragazzi,
sto cercando di realizzare un applicazione che sfrutti la porta COM per dialogare tramite comandi AT col cellullare e sia in grado di Leggere e Scrivere la rubrica del cellulare...

Sono a buon punto...nel senso che ho:

1) Realizzato Interfaccia Grafica
2) Realizzato Gestione della Lettura dal Cellulare della Rubrica
3) Realizzata Memorizzazione su File della Rubrica Letta
4) Realizzata Lettura da File della Rubrica precedentemente Salvata

Ora quello che mi manda è la scrittua sul cellulare della rubrica...qui ho problemi non tanto per scrivere nel cellulare ma per gestire le pause tra una scrittura ed un altra...poichè se scrivo un solo elemento tutto funziona...se creo un ciclo FOR che mi scriva TUTTI i contatti in rubrica non va più nulla e questo perchè o:

1) Devo far passare un po di tempo tra una scrittura ed un altra (send delay)

OPPURE

2) Devo andare a scrivere un nuovo elemento solo quando ho avuto la risposta di OK dal cellulare...

solo che non riesco a gestire questa cosa....vi posto il mio codice..aiutatemi...:
Codice:
Private Sub cmdSalvaCell_Click()
Dim iRiga As Integer
Dim stemp   As String
Dim iPausa  As Long
Dim iTemp   As Long

    AttivaLettura = False
    
    If MSComm1.PortOpen = True Then
    
        For iRiga = 1 To Griglia.Rows - 2
            iTemp = 0
            stemp = "AT+MPBW=" & iRiga & ",""" _
            & Griglia.TextMatrix(iRiga, 1) & ""","_
            & Griglia.TextMatrix(iRiga, 2) & ",""" _
            & Griglia.TextMatrix(iRiga, 3) & """," _
            & Griglia.TextMatrix(iRiga, 4)
            MSComm1.Output = stemp + Chr(13)
        Next iRiga
        
        MsgBox "Memorizzazione Rubrica Completata", vbInformation, "Memorizzazione"
    End If
End Sub
Codice:
Private Sub MSComm1_OnComm()
'Dichiara la Variabile dove convervare i pacchetti dati
Static sIncoming As String
    
    'Quando Sto ricevendo dei dati faccio questo:
    If MSComm1.CommEvent = comEvReceive Then
        'Aggiungo il carattere letto alla stringa sIncoming
        sIncoming = sIncoming & MSComm1.Input
        'Dipende dal carattere con cui termina la nostra stringa
        If Right(sIncoming, 2) = vbCrLf Then
            'Esclude il carattere CrLf dalla stringa
            sIncoming = Left(sIncoming, Len(sIncoming) - 2)

            'Carico la procedura per elaborare i dati Letti
            Call Elabora(sIncoming)

            'Pulisce la variabile
            sIncoming = ""
        End If
    End If
End Sub
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 02-02-2005, 10:03   #2
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
ho provato anche ad inserire un Timer che mi fa da temporizzatore in questo modo:

1) Nella procedura per scrivere la rubrica dopo aver inviato il comando al MsCOMM Controll ho posto a FALSE una variabile booleana

2) Riattivo la variabile booleana all'interno del Timer

Ho ovviamente aggiunto del codice alla procedura per scrivere in modo che invii il comando SOLO se la variabile booleana è TRUE...ho quindi impostato il Timer ad un intervallo di 300ms...

Solo che non funziona...va in loop continuo poichè durante il ciclo FOR il Timer "non si attiva"...nonstante precedentemente fosse attivo e funzionante...e quindi la booleana non cambia il suo stato e tutto si blocca....

Come posso fare? Help?
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 02-02-2005, 10:04   #3
matpez
Senior Member
 
L'Avatar di matpez
 
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
Dipende dal tuo cellulare, nn so se ti risponde OK tutte le volte che scrivi, se lo fa allora devi aspettare l'OK, altrimenti puoi mettere un delay da codice vb che ti rappenti di qlc millisecondo il tuo trasferimento

Codice:
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Sleep 200 '0.2 secondi
E già che ci sei metti un DoEvents appena sotto il tuo For , prima della riga iTemp = 0
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!"
A. Einstein
matpez è offline   Rispondi citando il messaggio o parte di esso
Old 02-02-2005, 10:08   #4
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
Ah...speravo fossi tu a rispondermi, in fin dei conti sei tu che mi hai insegnato quello che so del VB, cmq..

1) Si il cellulare ogni volta che scrivo mi restituisce l'OK o l'ERROR
2) Ho provato ad inserire lo Sleep solo che non so xkè l'applicazione funziona male...e cmq non mi scrive bene...

Mentre non ho provato ad inserire anche il "Do Events" che mi permette di fare se associato allo Sleep?


P.S. in rete ho trovato un programma "ATScan" che fa funzionare bene la cosa...ed in pratica aspetta la risposta di OK dal cellulare...come posso fare?
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 02-02-2005, 10:23   #5
matpez
Senior Member
 
L'Avatar di matpez
 
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
Bhe allora devi tenere sotto controllo il buffer della com, così quando tu incomincia a scrivere lanci il timer (per esempio settato a 100) e monitori il buffer! Quando ti torna OK dal cell allora tu vai a vanti a scrivere nel cell!

cmq io la funzione spleep la metterei ugualmente e fare un ciclo for di questo tipo, poi dopo vedi tu se lo devi modificare!

Codice:
For ...
DoEvents
.
.
.
.
Sleep 200
Next
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!"
A. Einstein
matpez è offline   Rispondi citando il messaggio o parte di esso
Old 02-02-2005, 10:59   #6
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
Quote:
Originariamente inviato da matpez
Bhe allora devi tenere sotto controllo il buffer della com, così quando tu incomincia a scrivere lanci il timer (per esempio settato a 100) e monitori il buffer! Quando ti torna OK dal cell allora tu vai a vanti a scrivere nel cell!
...[/code]

Ma la risposta di OK non mi arriva fin nella procedura di cancellazione poichè il tutto avviene nell'evento del MsCOMM...oltre ad aggiungere lo:

DoEvents
...
Sleep(x)

che mi consigli di fare?
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 02-02-2005, 14:18   #7
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
Ok, allora o provato a rimanere sulla stessa strada di prima, ovvero col Timer ed ho però inserito il DoEvents subito dopo il FOR ed in questo modo il timer si attiva....ho provato con vari tempi di intervalli del Timer da 200, 250, 300, 400, 500 ma anche a 500ms, seppur avendo notevoli miglioramenti, non tutto viene scritto....su 129 voci della rubrica circa 10 non vengono scritte ed sempre una decina non vengono cancellate quando facciola cancellazione totale....

Non ci sto capendo più molto...help
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 02-02-2005, 19:58   #8
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
...aiuto...

se volete vi allego i sorgenti del programmino...se può essere di aiuto a risolvere il problema...
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 03-02-2005, 09:45   #9
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
Ok,
ho risolto il problema facendogli attendere l'OK del controllo MSCOMM, ovviamente ho aggiunto che nel caso la risposta sia "ERROR" faccio mostrare una MsgBox che indica la mancata scrittura di quell'elemento
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 03-02-2005, 14:07   #10
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
...mi servirebbe una info...

come faccio a far rilevare automaticamente le porte com disponibili?

tipo in HyperTerminal di WinXP, lui automaticamente rileva se la porta com 13 è disponibile e la visualizza nell'elenco...mentre se stacco l'apparecchio lui la toglie dalla lista....

come si fa?
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 05-02-2005, 20:09   #11
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
nessuno sa aiutarmi?
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 06-02-2005, 02:56   #12
matpez
Senior Member
 
L'Avatar di matpez
 
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
Allegati
File Type: zip portaddress.zip (2.3 KB, 3 visite)
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!"
A. Einstein
matpez è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile iPhone 17 Pro: più di uno smartphone. &Eg...
Intel Panther Lake: i processori per i notebook del 2026 Intel Panther Lake: i processori per i notebook ...
Intel Xeon 6+: è tempo di Clearwater Forest Intel Xeon 6+: è tempo di Clearwater Fore...
4K a 160Hz o Full HD a 320Hz? Titan Army P2712V, a un prezzo molto basso 4K a 160Hz o Full HD a 320Hz? Titan Army P2712V,...
Recensione Google Pixel Watch 4: basta sollevarlo e si ha Gemini sempre al polso Recensione Google Pixel Watch 4: basta sollevarl...
Samsung è sempre più prota...
ChatGPT ha pregiudizi politici? Ecco cos...
Un solo iPhone rubato ha portato alla sc...
Xiaomi 17 Ultra sta arrivando: ecco come...
Il Motorola Edge 70 non ha più se...
Alcuni Galaxy S26 utilizzeranno il chip ...
Amazon, ecco i super sconti del weekend:...
Scovare un bug di sicurezza sui disposit...
Offerta Amazon su NordVPN: proteggi 10 d...
ECOVACS DEEBOT X8 PRO OMNI in offerta su...
Scope elettriche Tineco in offerta su Am...
Offerta Amazon sui robot EUREKA J15 Ultr...
Chrome disattiverà automaticament...
Tornano tutti e 4 i colori disponibili p...
Super sconto su iPhone 16: Amazon abbass...
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: 17:37.


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