Torna indietro   Hardware Upgrade Forum > Software > Programmazione

PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu
PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu
Il modello "build to order" di PCSpecialist permette di selezionare una struttura base per un sistema, personalizzandolo in base alle specifiche esigenze con una notevole flessibilità di scelta tra i componenti. Il modello Lafité 14 AI AMD è un classico notebook clamshell compatto e potente, capace di assicurare una elevata autonomia di funzionamento anche lontano dalla presa di corrente
Recensione Nothing Phone 4(a): sempre iconico ma ora più concreto
Recensione Nothing Phone 4(a): sempre iconico ma ora più concreto
Nothing con il suo nuovo Phone 4(a) conferma la sua identità visiva puntando su una costruzione che nobilita il policarbonato. La trasparenza resta l'elemento cardine, arricchita da una simmetria interna curata nei minimi dettagli. Il sistema Glyph si evolve, riducendosi nelle dimensioni ma aumentando l'utilità quotidiana grazie a nuove funzioni software integrate e notifiche visive. Ecco tutti i dettagli nella recensione completa
Corsair Vanguard Air 99 Wireless: non si era mai vista una tastiera gaming così professionale
Corsair Vanguard Air 99 Wireless: non si era mai vista una tastiera gaming così professionale
Nelle ultime settimane abbiamo provato la Corsair Vanguard Air 99 Wireless, una tastiera tecnicamente da gaming, ma che in realtà offre un ampio ventaglio di possibilità anche al di fuori delle sessioni di gioco. Flessibilità e funzionalità sono le parole d'ordine di una periferica che si rivolge a chi cerca un prodotto capace di adattarsi a ogni esigenza e ogni piattaforma
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 10-06-2008, 09:33   #1
scaram
Junior Member
 
Iscritto dal: Nov 2006
Città: Livorno
Messaggi: 15
[VBA/ACCESS]Errore run-time 13 sulla COM1

[VBA/ACCESS]Errore run-time 13 sulla COM1
Salve a tutti,

iIo stavo realizzando un programma che fa le seguenti cose:

-il mio programmino dovrebbe ricevere i dati da un pc esterno tramite una connessione seriale sulla COM1
-i dati sono in formato file txt(piccolissimi, 1 kb)
-una parte dei dati viene visualizzata sul pc ricevente ed immessa in un record.

Funziona tutto bene se non fosse che, ad esempio, dopo aver spedito 13 volte lo stesso file, al 14° invio mi appare "Errore di run-time '13' Tipo non corrispondente" e il programma si pianta.

Come mai? Cioe' perche' a volte l'invio riesce perfettamente e a volte mi compare l'errore invece?

Questo e' il codice Form_Load:



Codice:
Private Sub Form_Load()
   
Reload:
   
    ' Int seriale
    Set Comm = New DatiBilancia
    Comm.CommPort = 1
    Comm.Settings = "19200,N,8,1"
    Comm.OpenPort
    If Comm.State = 0 Then
       MsgBox "Impossibile aprire la porta"
       Comm.ClosePort
       GoTo Reload
    End If
    p = 0
    ' Attiva il timer per la lettura periodica sulla porta seriale
    Me.TimerInterval = 1000

End Sub


Questo e' il codice del Form_Timer:


Codice:
Private Sub Form_Timer()

    dato = Comm.Rx
    
    If (dato <> 0) Then
         
nuovo_record:
        If (x < MaxBB) Then
            DoCmd.GoToRecord , , acNewRec
            Me.Lotto.Value = Form_MasInsacco.Lotto.Value
            Me.Numero.Value = Form_MasInsacco.Numero.Value
           ' Me.CodiceProdotto.Value = Form_MasInsacco.Prodotto.Value
            Me.Peso.Value = dato
            Me.BigBag.Value = x
            x = x + 1
        
             ' qui devo aspettare di ricevere i dati data, ora e peso
        Else
            DoCmd.GoToRecord , , acNewRec
            Me.Lotto.Value = Form_MasInsacco.Lotto.Value
            Me.Numero.Value = Form_MasInsacco.Numero.Value
          '  Me.CodiceProdotto.Value = Form_MasInsacco.Prodotto.Value
            Me.Peso.Value = dato
            Me.BigBag.Value = x
            GoTo fine
        End If
    
    GoTo end_sub
    
fine:
    
    DoCmd.Close
    
end_sub:
  
    End If
  
End Sub


E questo e' il codice della funzione Rx del modulo DatiBilancia:
codice:
Codice:
'Lettura della porta seriale
Public Function Rx() As Double
   
   Const BufferLen = 66
   Dim ReceivedBytes As Long
   Dim Buffer(BufferLen - 1) As Byte
   Dim fSuccess As Integer
   Dim ferror As Integer
   Dim PesoReceive As String
   
   Dim Testo As String
   Dim Ok As Integer
   Dim Conf1 As Integer
   Dim Conf2 As Integer
   
   Dim Autotara As Double
   Dim Soglia1 As Double
   Dim Soglia2 As Double
   Dim PesoFinale As Double
   Dim CorrStat As Double
   Dim SogliaFinale As Double
   Dim TempoCiclo As Double
   Dim TempoVeloce As Double
   Dim TempoLento As Double
   Dim CodicePeso As String
   
   Ok = 0
   
   'Se la porta non è aperta esco
   If Not (hCom > 0) Then
      Exit Function
   End If
   ' legge dalla porta seriale; in particolare, imposta a 0 (NULL)
   ' l'ultimo parametro della ReadFile, poiche' la comunicazione
   ' sara' sincrona (non overlapped)
   fSuccess = ReadFile(hCom, Buffer(0), BufferLen, ReceivedBytes, 0)
   
   If (ReceivedBytes = 0) Then
      Exit Function
   End If
   
   If (fSuccess <> 0) Then
    'if ((Buffer(0) = "0x13)&(Buffer(1) = "0x10))
       PesoReceive = Left(StrConv(Buffer(), vbUnicode), ReceivedBytes)
       Testo = Left(PesoReceive, 3)
       Conf1 = StrComp(Testo, Chr$(13) & Chr$(10) & "+", 1)
       Conf2 = StrComp(Testo, Chr$(13) & Chr$(10) & "-", 1)
       If ((Conf1 = 0) Or (Conf2 = 0)) Then
            Ok = 1
            Autotara = CDbl(Mid$(PesoReceive, 2, 7))
            Soglia1 = CDbl(Mid$(PesoReceive, 9, 7))
            Soglia2 = CDbl(Mid$(PesoReceive, 16, 7))
            PesoFinale = CDbl(Mid$(PesoReceive, 23, 7))
            CorrStat = CDbl(Mid$(PesoReceive, 30, 7))
            SogliaFinale = CDbl(Mid$(PesoReceive, 37, 7))
            TempoCiclo = CDbl(Mid$(PesoReceive, 44, 7))
            TempoVeloce = CDbl(Mid$(PesoReceive, 51, 7))
            TempoLento = CDbl(Mid$(PesoReceive, 58, 7))
            CodicePeso = Mid$(PesoReceive, 66, 1)
       End If
   Else
      ferror = Err.LastDllError
      ' gestione errore
   End If
   If (Ok = 1) Then
        Rx = PesoFinale
   End If
   End Function
Vi ringrazio in anticipo
scaram è offline   Rispondi citando il messaggio o parte di esso
Old 20-08-2008, 10:34   #2
ostefano
Junior Member
 
Iscritto dal: Aug 2008
Messaggi: 1
Problema su com1

Ciao,
hai risolto il problema con la com1?
Io non ho la saluzione, anzi sono a chiederti info per realizzare un'applicazione che legge i dati dalla com1 (bilancia) per poi memorizzarli in un db.
Puoi aiutarmi?

Grazie

Ciao

Stefano Olivieri
ostefano è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu PC Specialist Lafité 14 AI AMD: assemblat...
Recensione Nothing Phone 4(a): sempre iconico ma ora più concreto Recensione Nothing Phone 4(a): sempre iconico ma...
Corsair Vanguard Air 99 Wireless: non si era mai vista una tastiera gaming così professionale Corsair Vanguard Air 99 Wireless: non si era mai...
Ecovacs DEEBOT T90 PRO OMNI: ora il rullo di lavaggio è ampio Ecovacs DEEBOT T90 PRO OMNI: ora il rullo di lav...
Recensione Samsung Galaxy S26 Ultra: finalmente qualcosa di nuovo Recensione Samsung Galaxy S26 Ultra: finalmente ...
MacBook Air M4 da 899€ su Amazon, ma non...
POCO X8 Pro e Pro Max 12/512GB -23% su A...
Twitter, la verità dietro il crol...
Scivolone ASRock: annuncia il Ryzen 9 99...
DLSS 5: NVIDIA spiega il funzionamento, ...
PlayStation come NVIDIA DLSS: Sony punta...
OnePlus Nord 6 sta arrivando e avr&agrav...
CPU desktop: Intel dice addio ai socket ...
Google sta testando un'app di Gemini per...
NVIDIA GeForce RTX 5070 Laptop: in arriv...
Il Tribunale di Roma ha annullato la mul...
AppleCare One potrebbe arrivare presto i...
Amazon ci riproverà: l'azienda st...
Apple e Samsung dominano la classifica d...
Un game designer di 9 anni, due fogli a ...
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: 09:03.


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