Comunicazione seriale Gestione ad eventi a cura di Marco Zucchini.

Slides:



Advertisements
Presentazioni simili
Lez. 12 (10/11) - PBElementi di Programmazione1 Lezione 12 Esercizi.
Advertisements

Eventi di salvataggio VBA
INFORMATICA Altre Istruzioni di I/O
Shell: variabili di sistema PATH HOME USER PWD SHELL HOSTNAME HOSTTYPE Per visualizzare il valore di tutte le variabili dambiente si usa il comando set.
Nel sistema operativo MS-DOS il comando cd.. (change directory), serve a cambiare cartella. Il comando rd (remove directory), serve a rimuovere una cartella.
Requisiti precedenti Contenuti Verifiche Bibliografia Maura Zini.
PROGRAMMARE IN PASCAL (le basi)
Biglietti e Ritardi: schema E/R
Comandi ai dispositivi di I/O + Si usano due metodi per mandare informazioni a un dispositivo: –Istruzioni specifiche di I/O –I/O mappato in memoria (memory.
3 a lezione - laboratorio a.a Corso di Laurea Ingegneria MECCANICA.
1 Stampa dei dati - 1 I dati visualizzati, provenienti sia da tabelle che da query, possono essere stampati selezionando lopzione Stampa dalla voce di.
4-1 Il Livello di Rete Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All Rights Reserved)
Programmazione Concorrente
Ordine dei Dottori Commercialisti e degli Esperti Contabili di Ivrea, Pinerolo, Torino1 effettuate le operazioni di generazione dell'Ambiente di sicurezza.
Argomenti dalla linea dei comandi Gli argomenti possono essere passati a qualsiasi funzione di un programma, compresa la main(), direttamente dalla linea.
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 10/03/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Ricorsione e Debug.
Introduzione agli stream e alle classi
Il linguaggio Fortran 90: 5. Formato di I/O e Files
Corso di Informatica A.A Corso di Informatica Laurea Triennale - Comunicazione&Dams Dott.ssa Adriana Pietramala Laurea.
Corso di Informatica A.A Corso di Informatica Laurea Triennale - Comunicazione&Dams Dott.ssa Adriana Pietramala Laurea.
INFORMATICA Altre Istruzioni di I/O. © Piero Demichelis 2 Funzioni di I/O Per la lettura e la scrittura da videoterminale il C prevede numerose istruzioni.
1.7 Risorse di sistema Comprendere le risorse di sistema Gestire le risorse di sistema.
Sincronizzazione fra thread
1 LINUX: struttura generale The layers of a UNIX system. User Interface.
I File.
ADSL VOIP Voice Over IP.
IL MODEM Che cos’è? A cosa serve? Che problemi risolve? Come comunica?
Lezione 2 Programmare in ASP
PUNTATORI Un puntatore è una variabile destinata a contenere lindirizzo di unaltra variabile Vincolo di tipo: un puntatore a T può contenere solo lindirizzo.
Rete Sincrona Una rete sequenziale sincrona, è dotata di un ingresso E, di un segnale di Clock e uno di reset. Ad ogni fronte del Clock, deve essere campionato.
Concorrenza e Sincronizzazione di Thread e Processi
I servizi per i cittadini Sistema Informativo Gestionale - Territoriale - Telematico.
INTRODUZIONE A MATLAB.
Requisiti precedenti Contenuti Verifiche Bibliografia Maura Zini.
Primo accesso Dimenticato la password? Navigare in piattaforma Come accedere a un corso.
GESTIONE DELLA TASTIERA
Visual Basic e accesso ai DATABASE
Simulazione cassa Super-mercato
IF & ELSE. Alcune volte javascript richiede l'abilità di distinguere tra differenti possibilità.
1 Gestione dei File. 2 Perché i file? Sono strutture dati persistenti Sono solitamente memorizzati sui dischi –Si usano dall'interno dei programmi Realizzano.
Un modem, una scheda di rete, o comunque una unità di comunicazione tra calcolatori elettronici, trasmettendo uninformazione, a causa di disturbi esterni,
Esercizi su File e Liste
Modulo 4 – U.D. 1 – Lez. 6 Ernesto Damiani - Sistemi di elaborazione dell'informazione.
BIOINFO3 - Lezione 331 SUBROUTINE IN PERL Una subroutine (funzione, metodo, procedura o sottoprogramma), e` una prozione di codice all`interno di un programma.
Programmazione della shell pt.2
Sia TAPE una periferica di gestione di nastri magnetici in grado di acquisire/fornire dati a 8 bit, e sia CD una periferica di masterizzazione in grado.
ND-partizione (A) n   A  somma  0 M  1/2 (  a i ) for i  1 to n do S[i]  choice ({true, false}) if S[i] then somma  somma + a i if somma > M then.
PROGRAMMAZIONE IN LOGO
LABVIEW Sommario Che cosa è uno strumento virtuale (VI) creato con LABVIEW Parti di un VI: pannello frontale diagramma a blocchi Confronto tra il principio.
PLSQL 1.1 LA REALIZZAZIONE DI APPLICAZIONI Quattro parti: Gestione dati Business rules Logica applicativa Interfaccia utente Molte possibili architetture.
a cura di Marco Zucchini
Capitolo 6 Iterazione Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies.
NET SEMINAR 16 / 04 / Net Seminar Overview del sistema F. Fontana, U. Annunziata Usability Lab, Casaccia, 16 Aprile 2003.
Tecniche Automatiche di Acquisizione Dati
Lez. 9 (13/14)Elementi di Programmazione1 Lezione 9 Valutazione di espressioni File di testo sequenziali.
Architettura dei Sistemi Operativi
Lez. 12 (13/14)Elementi di Programmazione1 Lezione 12 Esercizi.
Lez. 11 (13/14)Elementi di Programmazione1 Lezione 11 Esercizi.
Microsoft Access Chiavi, struttura delle tabelle.
Informatica 4 La ricorsione. Definizione di ricorsione Ricorsione è la proprietà di quei programmi che, all’interno delle istruzioni che li compongono,
EVENTI Gli eventi sono delle azioni che possono essere identificate da javascript. 1 - onMouseOver, che viene messo in atto quando l'utente fa scorrere.
Ordinamento. Introduzione Una delle operazioni che si possono eseguire sui vettori, è quella di ordinare gli elementi del vettore in ordine crescente.
Implementazioni di un analizzatore di protocollo Esistono quattro fondamentali tradeoff per la realizzazione di un analizzatore di protocollo:  Analisi.
Basi di Dati attive. Sistemi Informativi DEE - Politecnico di Bari E. TinelliBasi di dati attive2 Definizione Una base di dati si dice attiva quando dispone.
Il questionario on line a cura di Maria Grazia Ettore Istat Calabria 15° Censimento generale della popolazione e delle abitazioni Formazione per gli operatori.
Comunicazione Seriale Prof. Antonino Mazzeo Corso di Laurea Specialistica in Ingegneria Informatica.
Input in Java. Uso Scanner Un oggetto per la lettura dalla tastiera Piuttosto, per rappresentare la tastiera del nostro calcolatore useremo un oggetto.
Acquisizione dati con ADC 0831 e PIC 16F84
Socket programming in Java La realizzazione di un server in Java consente di scrivere una sola versione eseguibile su diverse piattaforme. Il linguaggio.
Transcript della presentazione:

Comunicazione seriale Gestione ad eventi a cura di Marco Zucchini

L’Handshake

Handshaking Rthereshold CommEvent DTREnable RTSEnable Le proprietà principali dell’oggetto Comm

Proprietà Handshaking Imposta (e restituisce) il tipo di protocollo di sincronia hardware. Un protocollo di sincronia garantisce che i dati non vadano perduti per un overrun del buffer, che si verifica quando i dati arrivano alla porta troppo rapidamente perché la periferica di comunicazione riesca a spostarli nel buffer di ricezione Esempio MSComm1.Handshaking=2 Imposta il protocollo alla modalità RTS/CTS

Proprietà Handshaking CostanteValoreDescrizione comNone0Default. Nessun handshaking. comXOnXOff1Handshaking di tipo XOnXOff. comRTS2Handshaking di tipo RTS/CTS comRTSXOnXOff4Handshaking di tipo RTS/CTS + XOnXOff.

Gestione dell’Input

Proprietà RThereshold Imposta (e restituisce) il numero di caratteri che devono essere ricevuti nel buffer di input prima che l’oggetto MSComm : –generi un evento di tipo OnComm –la proprietà CommEvent venga impostata al valore comEvReceive

Esempi MSComm1.Rthereshold=1 In questo caso l’evento OnComm viene generato ad ogni carattere ricevuto. MSComm1.Rthereshold=0 In questo caso viene impedita la generazione dell’evento OnComm.

Esempio Private Sub Form_Load() MSComm1.CommPort = 1 MSComm1.Settings = "9600,N,8,1" MSComm1.RThreshold = 1 MSComm1.PortOpen = True End Sub Private Sub MSComm1_OnComm() If (MSComm1.CommEvent = 2) Then ‘ inserire codice per gestione evento End If End Sub I_BUF M RS232RS232 O_BUF M Processo Consumatore

Proprietà CommEvent Contiene il codice associato al tipo di –evento di comunicazione –errore di comunicazione generato. Nota: proprietà non disponibile in fase di progettazione

Eventi di comunicazione CostanteValore CommEvent Descrizione comEvSend1Nel buffer di trasmissione ci sono meno caratteri di quanti impostati dalla proprietà Sthreshold comEvReceive2Ricevuti tanti caratteri quanti impostati dalla proprietà Rthreshold. Questo evento è generato continuamente fintanto che non viene completamente svuotato il buffer di input. comEvCTS3Segnala un avvenuto cambiamento di stato della linea CTS comEvDSR4Segnala un avvenuto cambiamento di stato della linea DSR

Eventi “condizione di errore di comunicazione” CostanteValore CommEvent Descrizione comEventOverrun1006Errore Overrun. Perdita del penultimo carattere. Non è stato possibile leggere un carattere prima dell’arrivo del carattere successivo. comEventRxover1008Overflow nel buffer di ricezione. Segnala che il buffer di ricezione è pieno. comEventRxParity1009Errore di Parità individuato dal sispositivo hardware. comEventTxFull1010Segnala che il buffer di trasmissione è pieno.

Private Sub MSComm2_OnComm() Select Case MSComm2.CommEvent Case 1 ‘ Signal Send Event MSComm2.Output=“A” Case 2 ‘ Signal Receive Event MSComm2.InputLen = 0 txtDisplay2.Text = txtDisplay2.Text + MSComm2.Input Case 3 ‘ Signal Clear To Send txtDisplay2.Text = txtDisplay2.Text + "Signal detected on line CTS Clear to Send" + vbCrLf Case 4 ‘ Signal Data Set Ready txtDisplay2.Text = txtDisplay2.Text + "Signal detected on line DSR" + vbCrLf Case Else ‘ All other Signal txtDisplay2.Text = txtDisplay2.Text + "General Event Signal Detected on COM2 !!!" + vbCrLf End Select End Sub

Gestione dei segnali DSR/RTS

Proprietà DTREnable Abilita o disabilita la linea DTR Esempio MSComm1.DTREnable=True oppure MSComm1.DTREnable=False Osservazione: sulla porta ricevente genera un segnale DSR

Generazione segnale DTR Si implementa nel seguente modo. If (MSComm1.DTREnable=True) Then MSComm1.DTREnable=False Else MSComm1.DTREnable=True End If

Private Sub MSComm2_OnComm() Select Case MSComm2.CommEvent Case 1 ‘ Signal Send Event MSComm2.Output=“A” Case 2 ‘ Signal Receive Event MSComm2.InputLen = 0 txtDisplay2.Text = txtDisplay2.Text + MSComm2.Input Case 3 ‘ Signal Clear To Send txtDisplay2.Text = txtDisplay2.Text + "Signal detected on line CTS Clear to Send" + vbCrLf Case 4 ‘ Signal Data Set Ready txtDisplay2.Text = txtDisplay2.Text + "Signal detected on line DSR" + vbCrLf Case Else ‘ All other Signal txtDisplay2.Text = txtDisplay2.Text + "General Event Signal Detected on COM2 !!!" + vbCrLf End Select End Sub

Proprietà RTSEnable Abilita o disabilita la linea RTS Esempio MSComm1.RTSEnable=True oppure MSComm1.RTSEnable=False Osservazione: sulla porta ricevente genera un segnale CTS

Generazione segnale RTS Si implementa nel seguente modo. If (MSComm1.RTSEnable=True) Then MSComm1.RTSEnable=False Else MSComm1.RTSEnable=True End If

Private Sub MSComm2_OnComm() Select Case MSComm2.CommEvent Case 1 ‘ Signal Send Event MSComm2.Output=“A” Case 2 ‘ Signal Receive Event MSComm2.InputLen = 0 txtDisplay2.Text = txtDisplay2.Text + MSComm2.Input Case 3 ‘ Signal Clear To Send txtDisplay2.Text = txtDisplay2.Text + "Signal detected on line CTS Clear to Send" + vbCrLf Case 4 ‘ Signal Data Set Ready txtDisplay2.Text = txtDisplay2.Text + "Signal detected on line DSR" + vbCrLf Case Else ‘ All other Signal txtDisplay2.Text = txtDisplay2.Text + "General Event Signal Detected on COM2 !!!" + vbCrLf End Select End Sub

Esercizio di verifica Scrivere due applicazioni VB che dopo aver impostato gli stessi valori dei parametri di comunicazione seriale (“9600,N,8,1”), consentano: I applicazione (GeneraSegnali) Gestione porta COM1 L’impostazione protocollo L’apertura/chiusura porta L’invio segnali DSR e RTS La sua terminazione (END) II applicazione (Monitor) Gestione porta COM2 L’impostazione protocollo L’apertura/chiusura porta La visualizzazione dei segnali catturati La sua terminazione (END) Dopo aver avviato l’applicazione Monitor avviare GeneraSegnali ed effettuare le operazioni consentite da quest’ultima nella casistica più ampia possibile. Riportare nella tabella a seguito i segnali catturati e visualizzati di volta in volta da Monitor.

PrecondizioneAzioneSegnale Catturato GS Running HS NO HS RTS Star t GS Satop GS Port Open Port Close CTSDSR