Форум программистов, компьютерный форум CyberForum.ru

Delphi и WinAPI

Войти
Регистрация
Восстановить пароль
 
Budist2
0 / 0 / 0
Регистрация: 04.11.2016
Сообщений: 2
#1

Подскажите с ReadFile и COM портом - Delphi WinAPI

09.12.2016, 22:55. Просмотров 324. Ответов 2

Здравствуйте, помогите новичку, пожалуйста.

Я делаю термодатчик на МК, и он должен связываться с ПК по COM порту. Решил использовать API т.к. с библиотекой вышли еще большие грабли.

Когда отправляю файл в порт все прекрасно работает и МК ,по идее, отвечает на это строкой "Nomber <тут номер обращения> Termo 2", а вот функция приёма работает не пойми как.

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
procedure ReadComm;
  var
   Resive:array [0..255] of char;
   Str: string;
   i: Integer;
   begin
     while true do
    begin
    TransMask:=0;
    WaitCommEvent(CommHandle,TransMask,@Ovr);
    if (TransMask and EV_RXFLAG)= EV_RXFLAG then
     begin
      ClearCommError(CommHandle,Errs,@Stat);
      Kols := Stat.cbInQue;
      ReadFile(CommHandle,Resive,Kols,Kols,@Ovr);
      for i := Kols downto 1 do Form1.Memo1.Lines.Add(IntToStr(Ord(Resive[i])));
      end;
    end;
  end;
Вместо того чтобы вывести нормальные значения в десятичном формате,
78
111
109
98
101
114
32
48
53
32
84
101
114
109
111
32
50
13

она выводит вот такую белеберду.
8249
25940
28018
8303
3378
0
0
0
0
0
0
0
0
0
0

Мне кажется, что причина в том, что ReadFile не правильно разделяет прочитанные данные в массиве, но как это исправить я не знаю. Помогите, пожалуйста, кто-нибудь.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.12.2016, 22:55     Подскажите с ReadFile и COM портом
Посмотрите здесь:
Работа с COM портом Delphi WinAPI
Работа с последовательным портом Delphi WinAPI
Вклиниться в процесс работы другого приложения с COM портом Delphi WinAPI
Как работать с LPT портом через функции CreateFile, ReadFile, WriteFile?
Станет ли видео с портом PCI-Express x16 2.х на мать с портом PCIe 2.0
ReadFile C (СИ)
ReadFile() C++ WinAPI
ReadFile C++ WinAPI
PHP readfile
Ошибка readfile PHP
ReadFile и кириллица Visual C++
Функция readfile() PHP

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
northener
3050 / 2107 / 433
Регистрация: 15.07.2013
Сообщений: 12,210
10.12.2016, 03:49     Подскажите с ReadFile и COM портом #2
Цитата Сообщение от Budist2 Посмотреть сообщение
выводит вот такую белеберду.
Ты бы хоть не выводил бы принятые данные в десятичном формате.
Раз уж выбрал юникодную версию Д2009+

Добавлено через 1 минуту
А вообще конечно "Страх и Ужас" этот код. Лучше бы разобрался бы с граблями при использовании библиотеки.
Budist2
0 / 0 / 0
Регистрация: 04.11.2016
Сообщений: 2
10.12.2016, 19:06  [ТС]     Подскажите с ReadFile и COM портом #3
Спасибо за помощь. Разобрался в библиотеке comport411f.

А код писал не я, взял из этой статьи
Yandex
Объявления
10.12.2016, 19:06     Подскажите с ReadFile и COM портом
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru