La manière de mettre fin aux informations peut être une ou une combinaison des méthodes suivantes.
1 Détection du caractère de fin: le caractère de fin est tout caractère utilisé pour indiquer la fin du message. Définissez ec-1, SMB89 (ou SMBl89) sur un caractère de fin; la fonction de réception d'informations vérifie chaque caractère reçu après avoir trouvé la condition de départ pour commencer à recevoir des caractères, et détermine si le doigt est configuré pour correspondre au caractère de fin, s'il le reçoit, stockez-le dans le tampon d'informations et le message. fonction de réception se termine. Généralement, le même caractère est utilisé pour toutes les informations. Protocole AS (1, II, l’utilisateur peut utiliser la détection de caractères de fin.
Délai d'attente de l'intervalle de 2 caractères: l'intervalle de temps des caractères est le temps écoulé entre la fin d'un caractère (bit d'arrêt) et la fin du caractère suivant (bit d'arrêt). Définissez c / mO, tmr-1, délai d’attente d’un caractère pour SMW92 (SMwl92). Tel que
Si l'intervalle de temps entre les deux caractères reçus par la fonction de réception d'informations dépasse le réglage de la minuterie de temporisation des caractères, la fonction de réception d'informations prend fin. Le paramètre de temporisation entre caractères doit être supérieur à l'heure à laquelle le débit en bauds spécifié est transmis pour un caractère (y compris le bit de début, le bit de données, le bit de contrôle du jeu de doigts et le bit d'arrêt). L'utilisateur peut mettre fin à un message en utilisant un minuteur d'intervalle de caractères associé à la détection de caractères de fin ou au nombre maximal de caractères.
3 valeur du temporisateur d’information: à partir du début de l’information, après un laps de temps spécifié, le temporisateur d’information met fin à un message. Définissez c / m-1, tmr-1, SMW92 (SMwl92) sur un délai d’expiration du message. La fonction de réception d'informations démarre le minuteur d'informations lorsque le jeu de doigts de condition de démarrage commence à recevoir le caractère et le temps de réception d'informations prend fin à l'expiration du temporisateur d'informations. De même, l'utilisateur peut mettre fin à un message en utilisant un minuteur d'intervalle de caractères associé à la détection de caractères de fin ou au nombre maximal de caractères.
4 Nombre maximal de caractères: lorsque le nombre de caractères reçus par la fonction de réception de message est supérieur à SMB94 (ou SMBl94), la fonction de réception de message se termine. La commande receive nécessite que l'utilisateur définisse un nombre maximal de caractères souhaité, garantissant ainsi que les données de l'utilisateur après le tampon d'informations ne sont pas écrasées.
Le nombre maximal de caractères est toujours utilisé conjointement avec le caractère de fin, le minuteur de temporisation entre les caractères et le minuteur d'informations comme condition de fin. '
5 Erreur de vérification: lorsque le caractère reçu présente une erreur de parité, la fonction de réception de message se termine automatiquement. Une erreur de parité peut se produire uniquement lorsque le chiffre de contrôle est défini dans SMB30 (ou SMBl30).
6 Utilisateur final: l'utilisateur peut mettre fin à la fonction de réception de message en réglant SMB87 (ou SMBl87) sur 0.
Afin de s’adapter pleinement à la prise en charge de divers protocoles de communication, la commande d’interruption de caractère peut être utilisée pour recevoir des données. Une interruption est générée chaque fois que le port de communication reçoit un caractère. Les caractères reçus sont stockés dans SMB2 avant l'exécution du programme d'interruption connecté à l'événement d'interruption de caractère reçu, et l'état de vérification (s'il est autorisé) est stocké dans SM3. O. ''
SMB2 est un tampon de caractères de réception de port libre. En mode port libre, chaque caractère reçu est stocké dans cet appareil pour permettre l’accès au programme utilisateur. SMB3 est utilisé en mode port libre et contient un indicateur d'erreur de parité. Ce bit est activé lorsqu'une erreur de vérification est détectée lors de la réception d'un caractère et que tous les autres bits de l'octet sont réservés.
Notez que SMB2 et SMB3 sont communs aux ports 0 et 1. Lorsque le caractère reçu provient du port 0, un programme d'interruption est connecté à l'événement (événement d'interruption 8). À ce stade, SMB2 stocke le caractère reçu du port 0 et SMB3 stocke l'état de vérification du caractère. lorsque le caractère reçu provient du port 1. Le programme d'interruption connecté à l'événement (événement d'interruption 25) est exécuté, le caractère reçu du port 1 est enregistré dans SMB2 et l'état de vérification du caractère est enregistré dans SMB3.
La fonction de ce programme est la communication entre le PC supérieur et l’API. L’API reçoit une chaîne de caractères envoyée par le PC hôte jusqu’à réception du retour chariot, PI. c renvoie les informations au PC.
Le programme principal de l'exemple d'application d'instruction de communication de protocole de port libre, dont la fonction implémentée est de recevoir une chaîne jusqu'à la réception d'un caractère de nouvelle ligne. Une fois la réception terminée, les informations sont renvoyées à l'expéditeur. L'interruption 0 est la routine d'interruption d'achèvement de réception. La fonction implémentée par l'interruption 0 consiste à ajouter une minuterie de 10 ms pour déclencher la transmission et la renvoyer si l'état de réception indique le caractère de fin de réception. L'interruption l est déclenchée par un déclencheur de synchronisation de 10 ms. L'interruption 2 est un événement d'interruption de caractère d'envoi.




