Форум программистов, компьютерный форум, киберфорум
Наши страницы

Delphi и WinAPI

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

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

09.12.2016, 22:55. Просмотров 460. Ответов 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 не правильно разделяет прочитанные данные в массиве, но как это исправить я не знаю. Помогите, пожалуйста, кто-нибудь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.12.2016, 22:55
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Подскажите с ReadFile и COM портом (Delphi WinAPI):

Как записать правильно ReadFile - Delphi
procedure TForm1.Button1Click(Sender: TObject); var ZapisanoBytes : Cardinal; readpipe,writepipe: Thandle; Security:...

Возможно ли принимать и передавать в LPT-шный порт с помощью ReadFile и WriteFile& - Delphi
Возможно ли принимать и передавать в LPT-шный порт с помощью ReadFile и WriteFile (логику '1','0') ? И хотябы маленький пример или...

работа с COM портом - Delphi
помогите, пожалуйста, наладить правильную работу с COM- портом. У меня есть аналогово-цифровой преобразователь, который преобразует...

Работа с COM портом - Delphi WinAPI
Добрый день, уважаемые знатоки! Помогите пожалуйста выработать логику работы программы. Имеется электродвигатель, с одним магнитом на...

Работа с COM портом - Delphi
Cразу к делу ) Нужна программа где достаточно будет 1 кнопки Start которая по клику начнет чтение с com порта и запишет данные в лог...

Работа с COM Портом - Delphi
Привет Всем! У меня тут такая проблема. Для работы с одним внешним устройством, которое заведомо неопределенным образом выдает сигналы...

2
northener
пофигист широкого профиля
3237 / 2289 / 493
Регистрация: 15.07.2013
Сообщений: 13,458
10.12.2016, 03:49 #2
Цитата Сообщение от Budist2 Посмотреть сообщение
выводит вот такую белеберду.
Ты бы хоть не выводил бы принятые данные в десятичном формате.
Раз уж выбрал юникодную версию Д2009+

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

А код писал не я, взял из этой статьи
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.12.2016, 19:06
Привет! Вот еще темы с ответами:

Работа с LPT портом - Delphi
Добрый день форумчане, столкнулся с проблемой. Печатающее устройство получает информацию через линии данных интерфейса. Печать полной...

Работа с последовательным портом - Delphi WinAPI
Добрый день! В работе с железом я новичок, поэтому прошу объяснения и помощи. Заранее спасибо =) На просторах инэта нашёл статейку и...

Работа с LPT портом - Delphi
Доброго времени суток. Имеется матричный принтер. Для вывода текста использую рулонную бумагу. При разработке программки возник вопрос:...

работа в delphi с СОМ-портом - Delphi
Здравствуйте,пишу программу на пипломник, суть программы: через COM-порт отправляет и принимает определенные команды (программа для работы...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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