Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.04.2011, 13:18   #1
Палыч23
 
Регистрация: 29.03.2011
Сообщений: 4
По умолчанию Данные с COM порта

Принимаю данные с com порта. Как мне преобразовать их в десятичный вид и отобразить в memo?
Палыч23 вне форума Ответить с цитированием
Старый 03.04.2011, 13:19   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а в каком вы виде принимаете их?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 03.04.2011, 13:28   #3
Палыч23
 
Регистрация: 29.03.2011
Сообщений: 4
По умолчанию

Var
DCB:TDCB; //структура, содержащая настройки порта
CommTimeouts:TCommTimeouts;
RCBuf:PChar; //Буфер данных для приема
nToRead:integer; //Число байт для чтения
nRead:Cardinal; //Число читаемых байт
ComStat:TComStat; //состояние порта
Errs:Dword;
begin
ClearCommError(POrt,Errs,@ComStat); //считываем состояние порта
nToRead:=strtoint(edit1.Text); //считываем число байт для
//чтения из структуры
ReadFile(Port,RCBuf^,nToRead,nRead, nil); //считываем данные

Примерно так. Данные приходят с АЦП
Палыч23 вне форума Ответить с цитированием
Старый 03.04.2011, 14:17   #4
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

Код:
function readcom: string;
var RX_Count : cardinal;
    TempArray: array[1..255] of Byte;
    Count    : Integer;
begin
 result:= '';
 ReadFile(Com, TempArray, 255, RX_Count, nil);
 for Count:= 1 to RX_Count do result:= result + '$'+inttohex(TempArray[Count], 2) + ' ';//Chr(TempArray[Count])
end;
добавление в Memo через Memo.lines.add(), в hex.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation

Последний раз редактировалось raxp; 03.04.2011 в 14:20.
raxp вне форума Ответить с цитированием
Старый 03.04.2011, 21:41   #5
Палыч23
 
Регистрация: 29.03.2011
Сообщений: 4
По умолчанию

Спасибо! Заработало
Палыч23 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
прерывания com порта tilin Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 11 29.09.2010 18:07
Данные по столбцам - упорядочить данные к друг другу PetroD Microsoft Office Excel 10 07.08.2010 12:30
Можно-ли прочитать данные с COM-порта в VBA? Gawwws Microsoft Office Excel 1 28.10.2008 15:26
Как считывать данные с COM,LPT порта и нарисовать график Sergiu Фриланс 2 22.12.2007 11:53
Как получить данные с COM-порта или другого любого порта? DeLure Общие вопросы C/C++ 5 20.09.2007 00:50