Sunteți pe pagina 1din 8

Ministerul Educaţiei, Culturii și Cercetării al Republicii

Moldova
Universitatea Tehnică a Moldovei

RAPORT
Lucrarea de laborator nr.3
la”B.T.D.”

A efectuat: xxxxxxxxxx
st. gr. C-171

A verificat: Ababii V.

Chişinău -2018
Tema: Configurarea portului COM

Standardul RS232

Este cel mai cunoscut si utilizat standard de comunicatie seriala


asincrona. El a fost definit de mai multe organisme internationale de
standardizare sub diferite nume : IEC232, CCITT-V24, RS232C. Initial
standardul a fost conceput cu scopul de a permite conectarea unui terminal
inteligent la un calculator central printr-o legatura telefonica. Standardul
precizeaza interfata dintre un echipament de calcul (DTE- Data Terminal
Equipment) si adaptorul sau la linia telefonica (DCE- Data Circuit-terminating
Equipment), cunoscut si sub numele de modem (Modulator/Demodulator).
Interfata permite comunicatia seriala bidirectionala intre cele doua echipamente,
si este simetrica la cele doua capete ale liniei. Ulterior specificatiile acestei
interfete s-au folosit pentru a realiza legaturi seriale intre diverse echipamente
fara a se mai folosi un modem.

Principalele precizari ale standardului RS232 se refera la :

- modul de transmisie : serial asincron, bidirectional (pe doua linii de date


separate)
-        codificarea informatiilor binare : prin nivele de tensiune sau curent (bucla
de curent) :

-        1 logic – (-3V … -15V)

-        0 logic – (+3V…-15V)

-        structura informatiei elementare transmise :

-        un bit de start (0 logic)

-        5-8 biti de date

-        0-1 bit de paritate (paritate para sau impara)

-        1-2 biti de stop (1 logic)

Programul de primire a datelor: regim RxD

#include <conio.h>
#include <string.h>
#include <stdio.h>
#include <dos.h>
char initializare ()
{ char sym;
asm {
mov dx,0x00
mov al,0x07
mov ah,0x00
int 0x14
mov sym,ah
}
return sym;
}
char recieve() {
char r;
char c;
asm{
mov DX,0x00
mov AH,0x02
int 0x14
mov r,AH
mov c,AL
}
return c;
}
void savefis(char *file) {
FILE *out;
if((out=fopen(file,"wt"))==NULL {fprint(stderr,"nu se deschide
'%s'\n",&file);}
char c;
printf("%s:\n",file);
do{
c = recieve();
if(c&&c!=EOF){
printf("%c",c);
fputc(c,out);
}
while (c!=EOF);
fclose(out);printf("\nEndf\n");
}
void create() {
char file[50];
char c;
file[0]='\0';
int i = 0;
do{
c = recieve();
if(c){
file[i] = c;
i++;
}
}
while(c!='\0');
savefile(file);
}
void main() {
clrscr();
char r;
r = initializare();
printf("rezultat %X\n",r);
while(1){
create();
}
}

Programul de primire a datelor: regim TxD


#include<stdio.h> #includecconio.h> #include<string.h> char port stat()
{
char c; asm{
mov ah, 03h mov dx, 0 int 14h
mov c, ah} return c;
}
char init_port b()
{
char c; asm{
ah, 00h
mov al, 07h mov dx, 0 int 14h mov c,ah
}
return c;
}
char receive ch()
{
char c; asm{
mov ah, 02h mov dx, 0 int 14h mov c,al
}
return c;
}
void openfile(char*file) {FILE*in;
in = fopen(file, "rt"); if (in==NULL){
printf("file '%s' not found\n", file); retum;
}
char c;
printf("continutul fisierului \n");
for (int i=0, i<= strlen(file); i++)
{
}
do {
send(file[i]);
c = fgetch(in); char sr = send(c); printf("%c", sr);
} while (c!=EOF); fclose(in);
printf("\nSfarsit de fisier\n");
}

int main(void)
{
cirscr(); char v, str;
v ==portstat();
printf("PORT COM1 status%x", v);
v = init_port_b();
printf("\nStatus Initializare:%x\n", v);
char file[50]; while (1) {
printf(Introduceti numele fisierului e-exit:\n"); scanf("%s", &file);
openfile(file);
if (strlen(file) == 1 && file[0]==’e’) break;
}
printf("\n Introduceti caracterul pentru transmitere:\n"); char string[255];
do{
gets(string);
for (int i = 0; i<strlen(string); i++)
{
char ch = string[i]; v = send ch(ch);
printf("\nStatus dupa transmiterea caracterului:%c", v);
}
}
while (strlen(string)==0), getch();
return 0;
}

Concluzie:
In aceasta lucrare de la borator am invatat cum se configureaza portul COM,
pentru a realiza comunicarea intre 2 calculatoare. Din cauza faptului ca
sistemele operative moderne nu permit controlul asupra resurselor de sitem am
observat ca transmiterea datelor nu a fost posibila.

S-ar putea să vă placă și