por phophollety » 29 Set 2007 02:44
Pode fazer de diversar maneiras...
Ligar um fio por vez, enviar o sinal por uma IO e ler pelo outro, ver se o que manda chega,
Ligar os dois fios ao mesmo tempo, usando tensão diferencial por exemplo +10V em um fio e -10V em outro e medir isto, claro, neste caso terá que ter uma eletrônica analógica te auxiliando.
Também pode ficar invertendo os fios, por exemplo, manda 0 e 1 e verifica se chegou 0 e 1 depois manda 1 e 0 e verifica se chegou 1 e 0 eu creio que o último caso é mais simples, só tomaria o cuidade de usar 4 portas sim, suas para saida dua para entrada, na saida ligue um R de 470R por ai e depois na entrada outro R, se for fazer em Assembler pode fazer assim:
Supondo que vai usar os IOs RA0 e RA1 com tx e RB0 e RB1 com RX
movlw b'00000001'
movwf porta ; envia o teste
movf portb,w ; le o resultado do portb, carrega no work
xorlw b'00000001' ; faz o xor
btfss status,z
; se forem iguais o resultado será 0, então o status, z será 1
goto teste2 ;está certo, vai para o teste 2
goto erro ; incorreto, trata o erro
pode repetir isto várias vezes, manda por uma porta, lê por outra, tanto "cabo quebrado" com "curto no cabo" podem te dar a mesma ou diferentes indicações.
E ai, deu uma luz?
"3 minutes of boring code review means 3 hours less fixing LSD (Little Stupid Detail)" Dr. Mike Smith
"Dê-me um ponto de apoio e uma alavanca e moverei o mundo" Arquimedes
"Quando vejo um Alfa Romeo passar eu tiro o meu chapéu" Henry FORD.