Дипломная работа: Комп’ютерне моделювання роботи послідовного порта
Function read_reseive_buffer(RS232_address,output_byte:integer):integer; export;
begin
read_reseive_buffer:=port(RS232_address);
end;
Передача даних по лініях взаємодії
Для виводу даних через лінії RTSі DTRу регістр керування модемом (зміщення 04h) необхідно записувати біти 1 і 0, що відповідають сигналам RTSі DTR. Лінії керуються процедурами на мовах TP6 і TurboPascalдля Windows, що вимагають базову адресу обраного СОМ-порту і стан цих ліній - або 0, або 1. Причому RTE і DTR інвертуються перед подачею в порт з метою компенсації інверсії перетворювачами TTЛ/RS232, що також використовуються для трансформації рівня напруги.
(*-Бібліотека ресурсів № А11 (запис даних у регістр стану модему).-*)
procedurewrite_modem_status(RS232_address, RTS, DTR:integer);
(*RTSі DTRінвертуються за допомогою МАХ238 на експериментальній платі *)
(*RTS=біт1, DTR=біт0регістру керування модемом, зміщення 04h.*)
begin
RTS.=1-RTS,
DTR:=1-DTR;
port(RS232_address+4):=RTS*2+DTR; (*3апис у регістр 04h *)
end;
(*-Бібліотека ресурсів №A11 (запис даних у регістр стану модему).-*)
Function wrile_modem_stalus(RS232_address, RTS, DTR:integer):integer; export;
(*RTSі DTRінвертуються за допомогою MAX238 на експериментальній платі.*)
(*RTS=біт1, DTR=біт0 регістра керування модемом, зміщення 04h.*)
begin
RTS:=1-RTS;
DTR:=1-DTR;
port(RS232_address+4):=RTS*2+DTR; (*Запис в регістр 04h.*)
end.
Щоб зчитати дані з ліній DSR, CTS і DCD, необхідно зчитати регістр стану модему. Для цього служать нижчеподані процедури на мовах TP6і TPW, що вимагають базову адресу обраного СОМ-порту. Лінії DSR, CTS і DCD інвертуються для компенсації інверсії перетворювачами TTJI/RS232.
(*-Бібліотека ресурсів №A13 (читання даних з регістра стану модема).-*)
Functionread_modem_status(RS232_address, x:integer):integer;
(*х=1 - вибір біта DCD, х=2 - вибір біта DSR, х=З - вибір біта CTS.*) (*DCD=біт 7, DSR=біт 5, CTS=біт 4 регістру стану модема, зміщення 06h.*) (*Всі біти інвертуються за допомогою МАХ238 на експериментальній пла-ті.*)
var