CAS HERCULES-HFS [15/20] Связь с внешними устройствами

CAS HERCULES-HFS [15/20] Связь с внешними устройствами
15
8. СВЯЗЬ С ВНЕШНИМИ УСТРОЙСТВАМИ
8.1. ПЕРЕДАЧА ДАННЫХ ПО ИНТЕРФЕЙСУ RS-232C
Весоизмерительное устройство может быть использовано для передачи
результатов измерений по интерфейсу в стандарте RS-232C на IBM-
совместимый персональный компьютер, на выносной индикатор и принтер.
Предварительно, как указывалось в п. 6.4.1, должны быть установлены
параметры программируемых интерфейсных функций F02 (параметр равен
нулю), F11 (в зависимости от скорости передачи) и F12 (условие передачи).
Данные обмена в ждущем режиме, т.е. когда F12 = 3, поступают только после
передачи на устройство его номера. Номер, или код в локальной сети, задается
функцией F10.
Протокол обмена: 8 бит данных, 1 стоп-бит, 0 бит проверки четности.
Данные, передаваемые в ASCII-коде, форматируются в сообщения
длиной 22 байта:
,
,
,
данные (8 байт) CR LF
GS (масса БРУТТО)
NT (масса НЕТТО)
US (Нестабильно)
ST (Cтабильно) Весовые
OL (Перегрузка) Пустой единицы
устройства
Байт данных: величина веса включает в себя десятичную точку и знак "-".
Пример - требуется передать величину -13.5 кг. В коде ASCII ей соответствуют
8 байт "-", "", "", "", "1", "3", ".", "5".
8.2. ПРОГРАММЫ ПЕРЕДАЧИ
Программа передачи данных на язы-
ке Бейсик:
10 OPEN "COM1: 9600, N, 8, 1" AS #1
20 IF LOC(1) = 0 THEN 60
3
0 A$ = INPUT$(1, 1)
40 PRINT A$; '' ";
50 GOTO 20
60 B$ = INKEY$ : IF B$ = " " THEN 20
70 PRINT B$ ; " " ;
90
GOTO 20
Программа передачи данных на языке C:
#include <bios.h>
#include <conio.h>
#define COM1 0
#define DATA_READY Ox100
#define TRUE 1
#define FALSE 0
#define SETTING ( 0x00 0xE0 0x00 0x03 )
int main(void)
{
int in, out, status, DONE = FALSE;
bioscom(0, SETTING, COM1);
cprintf(". . . BIOSCOM [ESC] to exit . . .\n);
while(!DONE)
{
status = bioscom(3, 0, com1);

Содержание

Скачать