Informations Complementaires - COMFILE PICBASIC Manuel Utilisateur

Table des Matières

Publicité

Manuel de référence PICBASIC
RECEPTION DE PLUSIEURS OCTETS.....
Vous pouvez utiliser un tableau ou une chaîne pour recevoir plusieurs données en utilisant le caractère "~".
SERIN 2, 93, 0, 50000, TIMEOUT, [I(0)~5]
Dans cet exemple le "PICBASIC" va attendre 5 données et transférer celles-ci dans: I(0), I(1), I(2), I(3), I(4).
SERIN 2, 93, 0, 50000, TIMEOUT, [ST~5]
Dans cet exemple le "PICBASIC" va attendre 5 données et transférer celles-ci dans la variable de type chaîne ST – Le dernier octet
reçu doit être un « 0 » (ce qui signifie pour le PICBASIC une fin de chaîne). Vérifiez que la taille de la chaîne déclarée par l'instruc-
tion DIM en début de programme ne soit pas dépassé.

INFORMATIONS COMPLEMENTAIRES

Réception avec condition #1: WAIT
La condition « WAIT » pemet d'inclure une notion de « filtrage » ou « d'adressage » lors de la réception de vos données. En
utilisant cette dernière, le programme attendra 2 octets particuliers, puis mémorisera la suite des données au sein d'une variable.
SERIN 2, 66, 0, 50000, TIMEOUT, [WAIT("AB"),I]
Cette instruction attend pendant 5 secondes la suite de caractères "AB" sous forme de données série à 4800 bds (avec un
PICBASIC-1B) sur la broche "I/O 2". Si cette "trame" caractéristique n'arrive pas à temps, le programme continu à l'adresse
"TIMEOUT". Si cette "trame" caractéristique est reconnue avant 5 secondes, le "PICBASIC" enregistre le caractère suivant dans la
variable "I".
Réception avec condition#2: UNTIL ( non utilisable avec les PICBASIC de la série « PBM » )
La condition « UNTIL » permet lors de la réception d'une suite de données de stopper la réception si un caractère spécifique est
reconnu.
SERIN 2, 66, 0, 50000, TIMEOUT, [UNTIL("*"),A(0)~10]
Cette instruction attend pendant 5 secondes la réception de données sous forme de données série à 4800 bds (avec un PICBASIC-
1B) sur la broche "I/O 2". Si des données arrivent, elles seront stockées dans les variables A(0), A(1), A(2)... Si parmis les données
reçues le programme détecte le caractère "*", la réception est stoppée.
Réception avec condition #3: SKIP ( non utilisable avec les PICBASIC de la série « PBM » )
La condition « SKIP » permet lors de la réception d'une suite de données de ne pas prendre en compte un caractère spécifique.
SERIN 2, 66, 0, 50000, TIMEOUT, [SKIP("R"),A(0)~10] 'During receiving 10 bytes to array A, character R will be skipped.
Cette instruction attend pendant 5 secondes la réception de données sous forme de données série à 4800 bds (avec un PICBASIC-
1B) sur la broche "I/O 2". Si des données arrivent, elles seront stockées dans les variables A(0), A(1), A(2)... Si parmis les données
reçues le programme détecte le caractère "R", ce dernier ne sera pas mémorisé.
ASTUCE POUR UTILISER UNE RECEPTION SUR INTERRUPTION AVEC LES PICBASIC DE LA SERIE « PB »
Le programme ci-dessous vous permettra de quitter automatiquement le « cours » de votre programme principal dès qu'une
données sera reçue sur la broche d'interruption d'un PICBASIC de la série PB (PICBASIC-1B par exemple).
ON INT(5)=0 GOSUB RS232_INT
:
: ' Programme principal
:
RS232_INT:
SERIN 5,11,0,1000,TIMEOUT,[BF]
TIMEOUT:
RETURN
Lors de la détection d'un front descendant sur le port 5 (Bit de start), le programme principal ira exécuter la sous-routine
d'interruption RS232_INT , laquelle attendra la réception des données séries. A ce moment il faut que le système annexe qui envoi
des données au PICBASIC puisse temporairement retarder l'envoi des données car le PICBASIC mettra plusieurs mS entre le
moment ou il détecte le bit de start et où il est prêt à recevoir des données. Vous pouvez également essayer d'envoyer un premier
octet « non exploitable » à 00 afin que le PICBASIC ait le temps de se synchroniser (mais il faut faire des essais en fonction du type
de système qui envoi des données au PICBASIC).
COMFILE Technology (traduction Française Lextronic)
106

Publicité

Table des Matières
loading

Table des Matières