Configuração serial de baixo nível?

5

Estou usando a plataforma Linux embarcada, o kernel é o 2.6. Estou usando o comando stty para configurar o ttyS * high level. O problema é que quando eu quero ativar o controle de fluxo de hardware:

stty -F /dev/ttySA0 crtscts

ele não pode se comunicar com outro dispositivo (que também tem o controle de fluxo ativado - isso é verificado). Eu descobri que em / proc / tty / driver / sc16is7x2 (este é um dispositivo serial) existe:

serinfo:1.0 driver revision:
0: uart:sc16is752 port:00000001 irq:53 tx:155 rx:0 DSR|CD|RI
1: uart:sc16is752 port:00000002 irq:53 tx:10 rx:0 DSR|CD|RI

enquanto na outra plataforma com o mesmo hardware (e onde o controle de fluxo de hardware funciona) existe algo como:

serinfo:1.0 driver revision:
0: uart:sc16is752 port:00000001 irq:53 tx:155 rx:0 CTS|DSR|CD|RI
1: uart:sc16is752 port:00000002 irq:53 tx:10 rx:0 CTS|DSR|CD|RI

Portanto, a diferença está em "CTS | DSR | CD | RI" vs "DSR | CD | RI". Este "DSR | CD | RI" poderia ser um problema? Não consigo usar o controle de fluxo de hardware?

    
por chris 22.09.2011 / 16:49

1 resposta

2

Existem dois problemas possíveis:

Uma é que o cabo está incorreto. Se não passar corretamente os sinais de controle de fluxo de hardware, o controle de fluxo de hardware não funcionará.

O outro é que o software configurou mal uma extremidade ou outra. O controle de fluxo de hardware deve ser ativado no software nas duas extremidades. E o software em ambas as extremidades deve ter as respectivas portas abertas.

    
por 26.09.2011 / 20:09