|
|
  |
Помогите разобратся с RS-232, проверка портов и т.п. |
|
|
|
Nov 16 2008, 17:41
|

Группа: Новичок
Сообщений: 14
Регистрация: 13-10-08
Пользователь №: 40 923

|
Цитата Читайте классику: Serial Communications in Win32 (частично на русском: Последовательная связь в Windows NT). я конечно не сильно крут в программировании но ... синтаксис сльно напоминает Си. Пока что пытаюсь разобратся, спасибо за ссылки... ------------------------------- итак начнем... для того чтобы работать с Ком портом надо его "включить" грубо говоря и выставить настройки. а т.к. передача информации через порт работает как передача файлов (я прав?) мы джолжны включить этот процесс... есть код файловой функции WinAPI: Код HANDLE CreateFile( LPCTSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDistribution, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile ); чтобы работать с COM портом №1 нам надо переделать код вот так: Код HANDLE CreateFile( LPCTSTR COM1, DWORD GENERIC_READ|GENERIC_WRITE, DWORD 0, LPSECURITY_ATTRIBUTES NULL, DWORD OPEN_EXESTING, DWORD FILE_FLAG_OVERLAPPED, HANDLE NULL ); но как я понимаю это все под делфи не катит? для делфи надо использовать: Код hPort := CreateFile(‘COM1’, GENERIC_READ or GENERIC_WRITE, 0, nil,OPEN_EXISTING,FILE_FLAG_OVERLAPPED, 0);
if hPort = INVALID_HANDLE_VALUE then raise Exception.Create('Error opening port'); а это закрывает порт? а как это будет на Делфи? Код BOOL CloseHandle( HANDLE hObject ) З.Ы. кстати... чтоб разобратся во всем я начал вот тут тему писать... http://nstalker.forum24.ru/?1-3-0-00000001-000-0-0
Сообщение отредактировал Капитан Хард - Nov 16 2008, 18:34
|
|
|
|
|
Nov 17 2008, 08:36
|
Гуру
     
Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847

|
Цитата(zltigo @ Nov 15 2008, 10:15)  Из NT консольного приложения доступ к стандартным COM портам и области BIOS виртуальной машины есть, Истины ради - прямого доступа все равно нет, VDM это все виртуализует и сводит к вызовам Win32 API (причем на пользовательском уровне, без обращений в ядро) Цитата но это не отменяет дебильность задания. С этим согласен на все 100%
|
|
|
|
|
Nov 17 2008, 09:08
|
Частый гость
 
Группа: Новичок
Сообщений: 85
Регистрация: 2-10-08
Пользователь №: 40 646

|
Цитата(Капитан Хард @ Nov 15 2008, 15:56)  в английском не рублю спасибо - попробую поставить но чувствую разобратся будет проблемма - нет ли каких нибудь книг на русском по этому компоненту? пользуюсь XP и NT меня не волнует ... как и другие операционки. картинок там кроме кода нет. Уточнить задание не могу - препод мифическая личность, появляется раз в 2 недели и если я ему ничего не принесу будет полный армагеддец что за API системы ? это связано с программированием в Delphi или Паскале? (Первое приоритетней т.к. можно сделать прогу с кравивым и понятным интерфейсом). если это не зарагивает программирование даже и рассматривать не стоит. Короче люди. подскажите как с помощью Delphi (ну или на крайний Pascal) запрограммировать программу для : 1. проверки адресов порта 2. инициальзации порта (установки скоростей , выводов и т.п.) 3. передачи данных (вбил в ячейку - нажал на кнопку - байт полетел) как я понимаю для этого нужно скачать компонент для работы с COM-портом... но вот разобратся в его командах и синтаксисе без знания английского для меня проблемма Ну, а ты что хотел, что бы тут за тебя программу написали, разбирайся, тем для изучения тебе много подкинули, прогугли по этой теме (по тем же самым win api), навярняка есть куча полезных статей в нете и на русском языке, приложи сам чуток усилий  Вот примеры с одной книги по AVR, там из проги на Дельфи команды МК посылаются, может поможет чем : http://www.sendspace.com/file/l9xa12[quote name='Капитан Хард' date='Nov 15 2008, 15:56' post='501275'] в английском не рублю спасибо - попробую поставить но чувствую разобратся будет проблемма - нет ли каких нибудь книг на русском по этому компоненту? пользуюсь XP и NT меня не волнует ... как и другие операционки. картинок там кроме кода нет. Уточнить задание не могу - препод мифическая личность, появляется раз в 2 недели и если я ему ничего не принесу будет полный армагеддец что за API системы ? это связано с программированием в Delphi или Паскале? (Первое приоритетней т.к. можно сделать прогу с кравивым и понятным интерфейсом). если это не зарагивает программирование даже и рассматривать не стоит. [b]Короче люди. подскажите как с помощью Delphi (ну или на крайний Pascal) запрограммировать программу для : 1. проверки адресов порта 2. инициальзации порта (установки скоростей , выводов и т.п.) 3. передачи данных (вбил в ячейк
|
|
|
|
|
Nov 17 2008, 10:47
|

Группа: Новичок
Сообщений: 14
Регистрация: 13-10-08
Пользователь №: 40 923

|
Цитата Ну, а ты что хотел, что бы тут за тебя программу написали, разбирайся, тем для изучения тебе много подкинули, прогугли по этой теме (по тем же самым win api), навярняка есть куча полезных статей в нете и на русском языке, приложи сам чуток усилий Я уже далеко не чуток усилий приложил... и гуглил ... и в магазины за книжками бегал... по данной теме пусто! . Ну или я такой тупой. А то что за меня программу писали... не... это не пойдет... я сам хоть тыщу прог напишу (тем более этого требуют). Просто я обычно читаю книги а там все по полкам разложено... если что непонятно в даташит лезу... а тут  ну просто темень какаято... вы же профи!!!... вам ничего не стоит написать пару правильных строчек для примера. А потом я уже по командам буду разбиратся если что непонятно... а то в одном одно написано ... в другом другое... иногда понятно как это все работает но непонятно как это реализуется на практике . а потом перекинте всю инфу в отдельный FAQ и будет всем начинающим прогерам счастье!!! Xenom0rph за програмки Респект и уважуха!!! Огромнейшее спасибо!!! через пару часиков сяду разбиратся.
Сообщение отредактировал Капитан Хард - Nov 17 2008, 10:50
|
|
|
|
|
Nov 17 2008, 11:31
|

Группа: Новичок
Сообщений: 14
Регистрация: 13-10-08
Пользователь №: 40 923

|
Цитата(Xenom0rph @ Nov 17 2008, 14:13)  в этой ветке проскачила тема про COM порты, и там один человек выложил примеры, по ним разобрался за пару часов и почему я этого не смог найти  ... как всегда "в танке"
Сообщение отредактировал Капитан Хард - Nov 17 2008, 11:32
|
|
|
|
|
Nov 17 2008, 11:57
|

Группа: Новичок
Сообщений: 14
Регистрация: 13-10-08
Пользователь №: 40 923

|
Цитата(MrYuran @ Nov 17 2008, 14:46)  Вот , приличная статейка, сам по ней начинал. негрузит
|
|
|
|
|
Nov 17 2008, 11:59
|
Частый гость
 
Группа: Новичок
Сообщений: 85
Регистрация: 2-10-08
Пользователь №: 40 646

|
Цитата(Капитан Хард @ Nov 17 2008, 14:31)  и почему я этого не смог найти  ... как всегда "в танке" да сейчас и я уже не смог найти, но вот, что мне помогло: http://www.sendspace.com/file/bcvili
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|