реклама на сайте
подробности

 
 
> Помогите разобратся с RS-232, проверка портов и т.п.
Капитан Хард
сообщение Nov 14 2008, 20:35
Сообщение #1





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



Прошу помощи разобратся.

Тут привожу функцию RS232(x) со скана книжки! а значит и ошибок много, написанная на Турбо Паскале для Windows. RS232(0) возвращает количество установленных COM-портов, RS232(1)-базовый адрес COM1, RS232(2) - базовый адрес COM2 и т.п.

Код
(*-библиотека ресурсов №A6 (определение базовых адресов COM-портов).-*)
(Universal auto detection of COM base address)
Function RS232(x:integer).integer; export;
(* $0000:$0400 содержит базовый адрес порта COM1,
$0000:$0402 содержит базовый адрес порта COM2,
$0000:$0404 содержит базовый адрес порта COM3,
$0000:$0406 содержит базовый адрес порта COM4,
$0000:$0406 содержит количество COM портов в двоичном формате.* )
var
Number_of_COM,  COM1, COM2, COM3, COM4:integer;
begin
numer_of_COM:=mem($40:$11); (*Считывает количество COM- портов*)
numer_of_COM:=(numer_of_COM and (8+4+2)) shr 1;
  COM1:=0; COM2:=0; COM3:=0; COM4:=0;
  COM1:=memw($40:$00); (*Процедура чтения из памяти*)
  COM2:=memw($40:$02);
  COM3:=memw($40:$04);
  COM4:=memw($40:$06);
Case x of
  0: RS232:= numer_of_COM;
  1: RS232:= COM1;
  2: RS232:= COM2;
  3: RS232:= COM3;
  4: RS232:= COM4;
end;
end;



Хочу этот код использовать в Делфи в проекте "управление двигателем" чтоб сначала проверить количество COMпортов на компе и их базовые адреса. Потом задам вопросы по инициализации COM порта.

Вопросы:
1. как переделать синтаксис чтобы этот код их Турбо паскаля заработал в Делфи
2. то что (*текст*) - коментарии? я прав?
3. обьясните мне этот участок кода:
Код
numer_of_COM:=mem($40:$11); (*Считывает количество COM- портов*)
numer_of_COM:=(numer_of_COM and (8+4+2)) shr 1;
  COM1:=0; COM2:=0; COM3:=0; COM4:=0;
  COM1:=memw($40:$00); (*Процедура чтения из памяти*)
  COM2:=memw($40:$02);
  COM3:=memw($40:$04);
  COM4:=memw($40:$06);

а именно:
3.1 что мы присваиваем переменной numer_of_COM в первой строчке? (имею в виду функцию mem($40:$11))
3.2 что мы добиваемся второй строчкой?
а именно: numer_of_COM and (8+4+2)) shr 1
почему не: numer_of_COM and 14) shr 1
3.3 COM1:=memw($40:$00); - функция memw($40:$00) из чего читает и что она делает

а теперь догадки : есть прелположение что функции memw и mem читают из ОЗУ . в инете встречал формулировку:
"Mem - это массив памяти. Т.е. с помощью указания номера элемента вы получаете доступ к определенной ячейке. существует 3 вида массива Mem:

* сам Mem - каждый компонент такого массива типа byte.
* MemW - каждый компонент типа word.
* MemL - каждый компонент типа longint."


Надеюсь на вашу помощь . help.gif
хотябы часть обьясните.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Капитан Хард
сообщение Nov 17 2008, 10:47
Сообщение #2





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



Цитата
Ну, а ты что хотел, что бы тут за тебя программу написали, разбирайся, тем для изучения тебе много подкинули, прогугли по этой теме (по тем же самым win api), навярняка есть куча полезных статей в нете и на русском языке, приложи сам чуток усилий


Я уже далеко не чуток усилий приложил... и гуглил ... и в магазины за книжками бегал... по данной теме пусто! . Ну или я такой тупой.

А то что за меня программу писали... не... это не пойдет... я сам хоть тыщу прог напишу (тем более этого требуют). Просто я обычно читаю книги а там все по полкам разложено... если что непонятно в даташит лезу... а тут 07.gif 07.gif 07.gif ну просто темень какаято...

вы же профи!!!... вам ничего не стоит написать пару правильных строчек для примера. А потом я уже по командам буду разбиратся если что непонятно... а то в одном одно написано ... в другом другое... иногда понятно как это все работает но непонятно как это реализуется на практике .

а потом перекинте всю инфу в отдельный FAQ и будет всем начинающим прогерам счастье!!! beer.gif

Xenom0rph за програмки Респект и уважуха!!! Огромнейшее спасибо!!! через пару часиков сяду разбиратся. a14.gif

Сообщение отредактировал Капитан Хард - Nov 17 2008, 10:50
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Капитан Хард   Помогите разобратся с RS-232   Nov 14 2008, 20:35
- - zltigo   Цитата(Капитан Хард @ Nov 14 2008, 23:35)...   Nov 14 2008, 21:09
|- - Xenom0rph   Цитата(zltigo @ Nov 15 2008, 00:09) Забуд...   Nov 14 2008, 21:26
- - Капитан Хард   Цитата(zltigo @ Nov 15 2008, 00:09) Забуд...   Nov 14 2008, 22:02
|- - vvs157   Цитата(Капитан Хард @ Nov 15 2008, 01:02)...   Nov 14 2008, 23:28
- - SysRq   Цитата(Капитан Хард @ Nov 15 2008, 01:02)...   Nov 14 2008, 22:12
- - Капитан Хард   Дословно? давайте. дз звучит так : научится перед...   Nov 14 2008, 23:20
- - Капитан Хард   Цитата(vvs157 @ Nov 15 2008, 02:28) Метод...   Nov 15 2008, 00:38
- - DpInRock   Цитатаа что имел в виду автор в книге говоря что п...   Nov 15 2008, 05:42
|- - zltigo   Цитата(DpInRock @ Nov 15 2008, 08:42) Обр...   Nov 15 2008, 07:15
|- - XVR   Цитата(zltigo @ Nov 15 2008, 10:15) Из NT...   Nov 17 2008, 08:36
- - shuks   компонент для работы с COM-портом: http://www.tms...   Nov 15 2008, 06:48
- - SysRq   Цитата(Капитан Хард @ Nov 15 2008, 03:38)...   Nov 15 2008, 11:33
|- - AHTOXA   Цитата(SysRq @ Nov 15 2008, 17:33) Картин...   Nov 15 2008, 12:40
- - DpInRock   Турбо Паскаля для NT я не встречал. И если нужно р...   Nov 15 2008, 12:16
|- - zltigo   Цитата(DpInRock @ Nov 15 2008, 15:16) то ...   Nov 15 2008, 15:48
- - Капитан Хард   Цитата(DpInRock @ Nov 15 2008, 08:42) htt...   Nov 15 2008, 12:56
|- - SysRq   Цитата(Капитан Хард @ Nov 15 2008, 15:56)...   Nov 15 2008, 13:51
|- - Xenom0rph   Цитата(Капитан Хард @ Nov 15 2008, 15:56)...   Nov 17 2008, 09:08
- - tyro   В XP com-порты прописаны в реестре. Как их извлечь...   Nov 15 2008, 14:55
- - Капитан Хард   ЦитатаЧитайте классику: Serial Communications in W...   Nov 16 2008, 17:41
|- - Xenom0rph   Когда я искал информациию по RS232 (Только под С++...   Nov 17 2008, 11:13
- - Капитан Хард   Цитата(Xenom0rph @ Nov 17 2008, 14:13) в ...   Nov 17 2008, 11:31
|- - Xenom0rph   Цитата(Капитан Хард @ Nov 17 2008, 14:31)...   Nov 17 2008, 11:59
- - MrYuran   Вот , приличная статейка, сам по ней начинал. Тут ...   Nov 17 2008, 11:46
- - Капитан Хард   Цитата(MrYuran @ Nov 17 2008, 14:46) Вот ...   Nov 17 2008, 11:57
|- - MrYuran   Цитата(Капитан Хард @ Nov 17 2008, 14:57)...   Nov 17 2008, 12:08
- - tyro   Посмотрите книжку http://ebookscomputer.ru/program...   Nov 17 2008, 12:24
- - SysRq   Еще исходники. Но не паскаль, звиняйте..   Nov 17 2008, 15:59
- - AHTOXA   Ну если уж переметнулись на Дельфи, то ComPort Lib...   Nov 17 2008, 18:16
- - tyro   Можно попользоваться продуктом фирмы MOXA. Там ест...   Nov 17 2008, 20:50
- - Капитан Хард   скачал Программа конечно прикольная но я это долже...   Nov 17 2008, 22:19
- - tyro   Цитата(Капитан Хард @ Nov 18 2008, 01:19)...   Nov 18 2008, 06:12


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st June 2025 - 14:30
Рейтинг@Mail.ru


Страница сгенерированна за 0.01728 секунд с 7
ELECTRONIX ©2004-2016