Saída Serial Modulada

Qual seria a melhor forma para se criar uma saída serial com uma frequência fixa modulada nos bits baixos ?
Explicando para melhor compreensão: Quero que os bits LOW de uma saída serial sejam um trem de pulsos (um tom TONE em 1kHz) em vez de ficar apenas alto continuamente.
Qual seria a melhor forma para se fazer isso sem ter de usar algum hardware externo ?

Por exemplo será que eu poderia usar algum pino PWM fazendo ele sair frequência (LOW) ou nada (HIGH) conforme os bits de uma saída serial UART comum ?

Olá @acjacques
pode explicar esta frase melhor:
Não entendi, pois se os bits estão em LOW ele não ficam e "alto continuo", e sim ficam em "baixo continuo".

Olá.
O Sr. leu as instruções de como usar o fórum?
Lá informa que o Sr. não deve postar posts repetidos sobre o mesmo assunto.
Mas acho que o Sr. não atendeu esta recomendação.

Certo?

Eu preciso que uma saída serial seja modulada com uma frequencia fixa de forma que possa enviar essa informação por um canal de audio e na outra ponta esse sinal possa ser recuperado usando um integrado LM567 decodificador de tom. Quero saber qual a melhor forma de fazer automaticamente só por software sem ter de escovar bit por bit..

Consegui o que queria. Vou resumir:

Coloquei um pino saindo PWM numa frequência alta. (analogWrite) em 50% duty.
Criei um pino que gera uma interrupção no modo FALLING.
Dentro do loop coloco uma saída serial tipo Serial.Println( "o dado que eu quero enviar") pode ser um pino SoftwareSerial.
A saída deste pino será jumpeada com o pino da interrupção.
Então quando a saída serial descer será executada a subrotina da interrupção que é a seguinte:
analogWrite (pinoPWM, 0 ) ; /// coloca em LOW
delayMicroseconds (um pouco menos que o tempo do bit conforme o baud rate);// obs delayMicroseconds pode ser usado dentro da interrupção
analogWrite(pinoPWM, 127) ; // restaura o PWM em 50%
fim da interrupção e retorna ao loop.

Assim a saída PWM se torna uma saída modulada conforme a saída serial desejada e é esta que vou usar para colocar no canal de áudio... (o PWM está na ordem de kHz )
ocorrendo o PWM em (bit inativo = idle) e LOW em bit ativo.
O LM567 irá interpretar o PWM como HIGH e o LOW como LOW.

Ficou pratico. Testei no osciloscópio . Falta testar no chip LM567

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.