• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Darkstone

Ajuda com Transmissor com PIC16F628A

2 mensagens neste tópico

Boas,

precisava de ajuda para fazer a programação de um transmissor para um robot. O Robot vai ter 4 botoes.Qd se pressionar cada botão ele vai ter que enviar uma palavra de 8 bits através do protocolo 232 (através do modulo USART do PIC) para depois transmitir essa palavra com o RT4-433 da telecontrolli. Alguem tem algum prog parecido para eu tirar ideias? :wallbash:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Darkstone,

Não percebi qual é exactamente a dúvida. :hmm:

Estás familiarizado com o PIC e tens dúvidas como configurar a USART, ou a dúvida é mais geral?

Pretendes desenhar em assembly, c?

P.f. especifica melhor a natureza da dúvida.

Contudo aqui vão algumas sugestões:

1. Rotina para captura dos "botões".

    Faz polling ao port onde ligam os "botões" com tick de 1mS ou algo do género.

    Valida "botões" implementando debouncing (só valida botão se o seu estado ON permanecer estável por pelo menos n milisegundos).

    Na eventualidade de vários botões activados ao mesmo tempo, só valida o primeiro que foi accionado.

    Validado o botão, coloca em buffer o código (1 byte) correspondente e activa evento de botao (flag).

    Regressa ao início.

2. Rotina para enviar 1 byte correspondente a cada tecla.

    Inicia transmissão se o evento botão estiver activo

    Terminada a transmissão regressa ao início.

3. Rotina (main)

    Pode limitar-se a fazer chamadas consecutivas às duas rotinas anteriores.

4. Sugiro uma implementação baseada em máquinas de estados que permite um controlo simples e rigoroso das tasks com a vantagem de oferecer uma solução do tipo multi-tasking com baixa taxa de ocupação de processamento por tarefa.

Acresce a vantagem de permitir incluir outras rotinas para execução de outras tarefas que eventualmente sejam necessárias sem necessidade de modificar a estrutura do código.

Cumps.

jotalinux

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora