Appendice; Protocollo Macro: Descrizione; Procedura Di Calcolo Del Checksum; Esempio Di Programma Di Test - Videotec SM84A Manuel D'instructions

Matrice vidéo programmable
Table des Matières

Publicité

Les langues disponibles

Les langues disponibles

9 Appendic e

9.1 Protocollo Macro: descrizione

Il protocollo Macro è caratterizzato da messaggi composti di soli caratteri ASCII stampabili, delimitati da due
caratteri terminatori '[' e ']'. All'interno del messaggio c'è distinzione tra lettere maiuscole e minuscole e NON
sono mai presenti spazi separatori.
Il formato di un messaggio tipico è una stringa di caratteri '[VA1PC1VidS1,12A]' che può essere così interpretata:
[
Inizio del messaggio
VA1
Destinatario del messaggio
PC1
Mittente del messaggio
VidS
Comando
Primo parametro
1
,
Separatore dei parametri
12
Secondo parametro
A
Checksum
]
Fine del messaggio
(1)
Anche se in questo caso le unità Destinatario e Mittente non sono indirizzabili si deve indicare un numero di
identificazione fittizio.
(2)
A seconda del comando sono presenti massimo 4 parametri numerici separati da virgola: se si deve
trasmettere il numero '123' dovranno essere spediti i tre caratteri '1' (ASCII 49), '2' (ASCII 50) e '3' (ASCII 51).

9.1.1 Procedura di calcolo del checksum

Sommare il codice ASCII di tutti i caratteri del messaggio, fatta esclusione per i terminatori '[' e ']'
1) calcolare il valore della somma modulo 26 (resto della divisione per 26, che è sempre un numero intero da 0 a 25)
2) sommare 65 al modulo così calcolato e ricavare il carattere corrispondente nella tabella ASCII: il risultato
deve essere un carattere alfabetico maiuscolo compreso tra 'A' e 'Z'.
Il messaggio verrà interpretato dalla matrice solo se il checksum è corretto.

9.1.2 Esempio di programma di test

Di seguito è riportato un semplice programma di test in BASIC che può essere usato come linea guida nella
realizzazione di sistemi di controllo più complessi. Il programma fa uso della seriale COM1 con baudrate 9600.
OPEN "COM1:9600,N,8,1,BIN,RB1000,DS0,CS0,CD0,RS" FOR RANDOM AS #1
COM(1) ON
ON COM(1) GOSUB Ricezione
DO WHILE (1)
A$ = UCASE$(INKEY$)
SELECT CASE A$
CASE "1":
CASE "2":
CASE "S":
CASE CHR(27): ' uscita dal programma con ESC
END SELECT
LOOP
Ricezione:
DO WHILE NOT(EOF(1))
B$ = INPUT$(1,1)
IF B$ = "[" THEN PRINT
PRINT B$;
LOOP
RETURN
(1)
(1)
(2)
(2)
(2)
' riconosce la pressione di un tasto
' commuta la camera 1 sul monitor 1
PRINT #1, "[VA1PC1VidS1,1C]";
' commuta la camera 2 sul monitor 1
PRINT #1, "[VA1PC1VidS1,2D]";
' ciclata automatica sul monitor 1
PRINT #1, "[VA1PC1VidA1V]";
END
Unità video numero 1
PC numero 1
Commutazione
Monitor 1
Camera 12
Pag. 32
MNVCSM84A_0408

Publicité

Table des Matières
loading

Ce manuel est également adapté pour:

Sm164a

Table des Matières