Курсовая работа: Верифікація послідовного порту
Далі в циклі знаходяться коди розміром 1 байт (цілі числа від 0 до 255) для всіх символів, які записуються у масив mCod
for i:=1 to length(Str) do
begin
mCod[i]:=ord(Str[i]);
Edit3.Text:=Edit3.Text+IntToStr(mCod[i])+' ';
end;
Отримані коди символів відображаються на формі в компоненті Edit3. Код кожного символа перетворюється у двійкове представлення за допомогою процедури наступного коду програми, який перетворює байт у масив з 8 біт. Отримане бітове представлення записується у масив mCod_bit.
repeat
n:=Data div 2;
mCod_bit[i,ii]:=Data mod 2;
Data:=n;
dec(ii);
until Data<2;
mCod_bit[i,ii]:=Data;
Найскладніша частина процедури – перетворити бітове представлення символів у послідовне повідомлення. Згідно з форматом послідовної передачі даних перед кожним байтом даних потрібно вставити біти паузи (1-10 бітів) і старт-біт, а після бітів даних (кодів символів з масиву mCod_bit) – біт контролю і стоп-біт. Довжина інформаційного слова, кількість стопових бітів, парність та швидкість передачі даних встановлюється у пункті меню “Опції СОМ-порта”(Рис. 1.2).
Рис. 1.2. Форма опцій СОМ-порта
fori:=1 tolength(Str) do
begin
iii:=random(9)+1; //Діапазон бітів паузи: 1-10
ii:=iii+DovjSlova;
Data:=mCod[i];
Parnist:=0;
repeat//Перетворення у 2-ву СЧ
n:=Data div 2;
mCod_bit[i,ii]:=Data mod 2;
if mCod_bit[i,ii]=1 then //Підрахунок одиниць
Parnist:=Parnist+1;
Data:=n;