ZXevolution + RS-232

ZX evolution software and hardware

Postby deathsoft » 14 Aug 2011, 14:34

DimkaM wrote:КАК???

http://en.wikipedia.org/wiki/RS-232_RTS/CTS#RTS.2FCTS_handshaking
Смотреть не старое ассиметричное использование rts/cts а новое, для фул-дуплекс передачи, когда rts/cts значат одно и тоже но один для DTE а второй для DCE (по сути это сигналы busy, указывающие, что DTE или DCE готовы принять еще байты в фифо).

В современном ком портовом оборудовани используется только такой режим:
A non-standard symmetric alternative, commonly called "RTS/CTS handshaking," was developed by various equipment manufacturers: CTS indicates permission from the DCE for the DTE to send data to the DCE (and is controlled by the DCE independent of RTS), and RTS indicates permission from the DTE for the DCE to send data to the DTE. This was eventually codified in version RS-232-E (actually TIA-232-E by that time) by defining a new signal, "RTR (Ready to Receive)," which is CCITT V.24 circuit 133. TIA-232-E and the corresponding international standards were updated to show that circuit 133, when implemented, shares the same pin as RTS (Request to Send), and that when 133 is in use, RTS is assumed by the DCE to be ON at all times
User avatar
deathsoft
 
Posts: 358
Joined: 07 Apr 2007, 01:58
Group: Registered users

Postby нолька » 14 Aug 2011, 15:12

c PC данные можно слать, например, из unreal'a
я проснулся среди ночи и понял, что всё...
всё идет по плану
User avatar
нолька
рОвный
 
Posts: 264
Joined: 08 Apr 2007, 21:12
Group: Registered users

Postby DimkaM » 14 Aug 2011, 15:21

SfS wrote:Комменты в иходниках в KOI8-R.

Ща поизучаю, а лучше объясни, для дибила, как ты управляешь потоком.
deathsoft wrote:Смотреть не старое ассиметричное использование rts/cts а

Я не могу на ПЦ получить состояние CTS,на Еве дёргаю РТС, а оно(ЦТС на ПЦ) постоянно фалсе.
Дергаю РТС на ПЦ, Ева нормально читает состояние ЦТС.
Ща начну успокоительное пить.

Да, после того как припаял РТС/ЦТС Мелон ноормально заработал.
ZX-Evo rev B, ZX-Evo rev C, ZXNetUsb rev A, ZXNetUsb rev С
http://nedoos.ru/ http://ti6.zxevo.ru/
DimkaM
 
Posts: 1387
Joined: 24 Mar 2010, 13:42
Location: джунгли Амазонки
Group: Registered users

Postby lvd » 14 Aug 2011, 15:50

DimkaM wrote:Я не могу на ПЦ получить состояние CTS

Может быть, не на пц, а на #говнете? :)
По существу, всякие настройки в режиме аппаратного управления потоком? Если да, то может оно само?
Многого нет здесь: http://lvd.nedopc.com
Image
User avatar
lvd
 
Posts: 1786
Joined: 07 Apr 2007, 22:28
Group: Registered users

Postby DimkaM » 14 Aug 2011, 16:25

lvd wrote:Может быть, не на пц, а на #говнете?
Может быть.
lvd wrote:По существу, всякие настройки в режиме аппаратного управления потоком? Если да, то может оно само?
Настройки в устройствах и в С# одинаковые: 19200N1, управление потоком отключено(Правильно?!)
Кабель:2-3, 7-8, 5-5. Еще на всякий случай, со стороны ПЦ, закоротил 1-4-6(но не помогло).
На Еве инициализирую: DLL=0, DLM=6, FCR=7.
ZX-Evo rev B, ZX-Evo rev C, ZXNetUsb rev A, ZXNetUsb rev С
http://nedoos.ru/ http://ti6.zxevo.ru/
DimkaM
 
Posts: 1387
Joined: 24 Mar 2010, 13:42
Location: джунгли Амазонки
Group: Registered users

Postby deathsoft » 14 Aug 2011, 16:56

DimkaM wrote:Я не могу на ПЦ получить состояние CTS

На ПЦ не надо трогать состояние RTS/CTS, надо при инициализации ком порта указать hardware flow control rts/cts драйвер сам будет этими сигналами управлять.

http://msdn.microsoft.com/en-us/library/aa363214(VS.85).aspx
fRtsControl

RTS_CONTROL_HANDSHAKE
0x02
Enables RTS handshaking. The driver raises the RTS line when the "type-ahead" (input) buffer is less than one-half full and lowers the RTS line when the buffer is more than three-quarters full. If handshaking is enabled, it is an error for the application to adjust the line by using the EscapeCommFunction function.

fOutxCtsFlow
If this member is TRUE, the CTS (clear-to-send) signal is monitored for output flow control. If this member is TRUE and CTS is turned off, output is suspended until CTS is sent again.

Ну и курить пример из msdn до полного просветления.
User avatar
deathsoft
 
Posts: 358
Joined: 07 Apr 2007, 01:58
Group: Registered users

Postby deathsoft » 14 Aug 2011, 17:04

DimkaM wrote: управление потоком отключено(Правильно?!)

Бля, его наоборот включить надо, чтобы виндовый драйвер сам реагировал на RTS и генерировал CTS. Это делает либо драйвер (для кривых уартов где нету аппаратного хэндшейка) либо сам уарт аппаратно (для современных уартов где есть аппаратный хэндшейк).
User avatar
deathsoft
 
Posts: 358
Joined: 07 Apr 2007, 01:58
Group: Registered users

Postby SfS » 14 Aug 2011, 18:03

Ща поизучаю, а лучше объясни, для дибила, как ты управляешь потоком.


Очень просто) НИКАК)
У меня нуль-модем из 3х проводков.

Алгоритм приёма байт - простейший:

- проверяем бит 0 регистра LSR.
- если он равен 1 - читаем байт из регистра DAT.

Всё)

Запись:
- проверяем бит 5 регистра LSR.
- если он равен 1 - пишем байты в DAT. Но не более 16 за раз.

Всё)
ZX-Phoenix.
Pentevo ZX-Evoluton Rev. B (зелёная)
SfS
 
Posts: 245
Joined: 24 Jun 2010, 08:07
Group: Registered users

Postby SfS » 14 Aug 2011, 18:04

Вообще я на работе управлял моднмом по трём проводам. RTS-CTS - вовсе не нужны.
ZX-Phoenix.
Pentevo ZX-Evoluton Rev. B (зелёная)
SfS
 
Posts: 245
Joined: 24 Jun 2010, 08:07
Group: Registered users

Postby DimkaM » 14 Aug 2011, 18:45

deathsoft wrote:Бля, его наоборот включить надо

deathsoft wrote:RTS_CONTROL_HANDSHAKE

Понял, что дурак, настройки остались со времён трёх проводков.
Завтра проверю.
SfS wrote:Очень просто) НИКАК)

Не, так не интересно. Мне фид-бэк нужен.
В таком режиме у меня и было изначально, в слепую тоже и хобеты и скрины грузил.
ZX-Evo rev B, ZX-Evo rev C, ZXNetUsb rev A, ZXNetUsb rev С
http://nedoos.ru/ http://ti6.zxevo.ru/
DimkaM
 
Posts: 1387
Joined: 24 Mar 2010, 13:42
Location: джунгли Амазонки
Group: Registered users

PreviousNext

Return to Пентева - софт и железо

Who is online

Users browsing this forum: Google [Bot] and 1 guest

cron