Работа с COM портом в Visual C++

Использование и разработка софта (преимущественно на ПЦ)

Moderator: Shaos

User avatar
Shaos
Admin
Posts: 24080
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

lvd wrote:
fk0 wrote:Ага. Только порт ввода-вывода МИКРОПРОЦЕССОРА к коммуникационному порту никакого отношения не имеет. Не очевидно разве? Вон в маках небось (не те, что на x86) вообще портов нет. В них вообще смысла не много...
Порты (как средства связи с миром, а не как нечто, куда байтики пихать аутами) есть. Но в адресном пространстве общем болтаются просто. А на пц - в не общем, в отдельном. Тяжёлое насление 8-битных 8086, что уж поделать. Неизлечимо...
Порты в отдельном адресном пространстве - это скорее наследие 8-битныз 8080 (глубже не копал), а 8086 был уже 16-битным ;)
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
fk0
Novelist
Posts: 49
Joined: 10 Jan 2006 07:54
Location: St.Petersburg, Russian

Post by fk0 »

lvd wrote:
или делать свой драйвер.
Зачем, если инпоут32.длл - работает?
Работает вообще и работает здесь сейчас и у тебя -- две большие разницы.
На эти грабли наступали уже все кому не лень. Но видимо, пока по лбу хорошенько не получишь не доходит, на чужом опыте то...
--
[ZX]
lvd
Maniac
Posts: 230
Joined: 01 Mar 2005 21:42

Post by lvd »

fk0 wrote:
lvd wrote:
или делать свой драйвер.
Зачем, если инпоут32.длл - работает?
Работает вообще и работает здесь сейчас и у тебя -- две большие разницы.
На эти грабли наступали уже все кому не лень. Но видимо, пока по лбу хорошенько не получишь не доходит, на чужом опыте то...
Ну, а мне и нужно, чтобы у меня и сейчас работало. Чтоб мсх шились и ром-эмуляторы загружались.
Du bist ein Spektrumist!
lvd
Maniac
Posts: 230
Joined: 01 Mar 2005 21:42

Post by lvd »

Shaos wrote:
lvd wrote:
fk0 wrote:Ага. Только порт ввода-вывода МИКРОПРОЦЕССОРА к коммуникационному порту никакого отношения не имеет. Не очевидно разве? Вон в маках небось (не те, что на x86) вообще портов нет. В них вообще смысла не много...
Порты (как средства связи с миром, а не как нечто, куда байтики пихать аутами) есть. Но в адресном пространстве общем болтаются просто. А на пц - в не общем, в отдельном. Тяжёлое насление 8-битных 8086, что уж поделать. Неизлечимо...
Порты в отдельном адресном пространстве - это скорее наследие 8-битныз 8080 (глубже не копал),
А глубже - ничего нет ВООБЩЕ.
6800 и 6502 - без отдельного адресного пространства. пдп-11, который якобы вдохновлял аффтаров 6800 - тоже без. 4004 - не знаю, но его - фтопку, ибо недопроцессор.
а 8086 был уже 16-битным ;)
Так... Вот 68000 был 16битным, он имел 32битные регистры и линейную память (4 гига теоретически, 16 мегов выводилось ногами из проца). А 8086 имел 16битные регистры (как з80 =), и память адресовал почти как зх-спектрум 128к. По-моему, он был 8битным!
Du bist ein Spektrumist!
User avatar
HardWareMan
Banned
Posts: 2139
Joined: 20 Mar 2005 13:41
Location: От туда

Post by HardWareMan »

Shaos wrote:Порты в отдельном адресном пространстве - это скорее наследие 8-битныз 8080 (глубже не копал)
Как раз таки и не i8080, ибо у него порты были развязаны. 256 ячеек по 8 бит имели для обращения спец команды - IN/OUT - это уже есть порты. Для этого делался сигнал SYN, который защелкивал слово состояния проца, где конкретно указывалось, что хочет сделать процессор, и там были биты обращения к памяти и к портам. Собственно, родной шинный формирователь вырабатывал 4е стандартных сигнала: !MEMRD, !MEMWR, !IORD, !IOWR. Просто надо было ставить штатный шинный формирователь: 580ВК38/580ВК28. Но зачем нам довески? Вот и делали по проще, хотя простой регистр с сигналом SYN как гейт не судьба видимо было....
lvd wrote:А глубже - ничего нет ВООБЩЕ.
6800 и 6502 - без отдельного адресного пространства. пдп-11, который якобы вдохновлял аффтаров 6800 - тоже без. 4004 - не знаю, но его - фтопку, ибо недопроцессор.
Недопроцессор - это топик форума. ;)
lvd wrote:Так... Вот 68000 был 16битным, он имел 32битные регистры и линейную память (4 гига теоретически, 16 мегов выводилось ногами из проца). А 8086 имел 16битные регистры (как з80 =), и память адресовал почти как зх-спектрум 128к. По-моему, он был 8битным!
ИМХО, он просто тупо на базе i8080: вместо того, чтобы сделать 8 нормальных полноразрядных РОН как у младшего брата (регистр М будем считать регистром, хоть это и память) они их просто объединили как 4е 16ти битных.. Меня всегда это бесило. Мотороллеры даже превысили разрядность в два раза! Более того, они даже поддержку вычислений этой разрядности сделали, пусть и дольше по времени.
Romanich
Banned
Posts: 608
Joined: 12 Oct 2006 16:44

Post by Romanich »

fk0 wrote:Только порт ввода-вывода МИКРОПРОЦЕССОРА к коммуникационному порту никакого отношения не имеет.
ищё как имеет! Зная базовый адрес порта и описалово регов, можно добраца до чего угодно. и ком-порт - не исключение.

Дальше спорить не буду - ибо силы и время берегу на другие -более важные дела! :P
User avatar
fk0
Novelist
Posts: 49
Joined: 10 Jan 2006 07:54
Location: St.Petersburg, Russian

Post by fk0 »

lvd wrote:отдельном. Тяжёлое насление 8-битных 8086, что уж поделать. Неизлечимо...
i8086 16-разрядный (по ширине аккумулятора). И по ширине интерфейса с шиной данных тоже. Вот i8088, если не ошибаюсь -- 16-разрядный с 8-разрядным интерфейсом к памяти.
--
[ZX]
User avatar
fk0
Novelist
Posts: 49
Joined: 10 Jan 2006 07:54
Location: St.Petersburg, Russian

Post by fk0 »

Romanich wrote:
fk0 wrote:Только порт ввода-вывода МИКРОПРОЦЕССОРА к коммуникационному порту никакого отношения не имеет.
ищё как имеет! Зная базовый адрес порта и описалово регов, можно добраца до чего угодно. и ком-порт - не исключение.
Я тебе дам переходник фирмы Texas Instruments. К нему дров нормальных нифига нет (только под линух 2.4 и винду 2000-ю). Сделаешь так чтоб через порты работало?
А то ведь у него второй конец формально -- COM.

Или вот ещё 8-портовая MOXA есть, если переходник не устраивает...
--
[ZX]