Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Bisão1976

PIC comunicação serial entre 16f628a

Recommended Posts

Olá todos os foristas do Clube do Hardware venho aqui para vocês tirarem minha dúvida ou darem alguma sugestão  .Estou querendo fazer uma comunicação serial entre dois pics 16f628A .Porém, pensei logo no USART que seria mais fácil e rápido ,mas um dos pic 16f628A  já está utilizando essa comunicação serial com PC.Gostaria de fazer essa comunicação serial com I2C ,porém este pic 16f628A não tem isso dedicado no chip aí é minha pergunta .Posso fazer essa comunicação I2C entre dois pic 16f628A em modo software ?Meu intuito era simplesmente enviar dados via I2C já que esta comunicação disponhe de apenas 2 pinos.Obrigado a todos pela ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou de sugestão então...

Penso que I2c é mais chatinho do que usart

Como já tens familiaridade com a interface serial, sugiro um multiplex controlado por 1 ou 2 pinos: hora vai pro pc hora pro outro mc.

Também podes fazer outra interface por sw. Pesquise "serial bitbanging"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem um negócio chamado de mestre e escravo também(master slave)... não teria como adaptar para teu caso?

To perguntando porque eu não vou fazer isso huauhauha

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • @Isadora Ferraz Obrigado mais uma vez pela dica sempre preciosa que você deu .Irei dar uma estudada no que você propôs.Muito obrigado.Porém estava  pensando em utilizar I2C ,pois já utilizei essa comunicação para ler e escrever na EEPROM externa e por questão de praticidade e rapidez .Eu vi alguns exemplos na net de comunicação via I2C entre microcontroladores,porém utilizando microcontroladores dedicados.Minha dúvida se seria possível ou se alguém já utilizou essa comunicação em modo software. 

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
    12 horas atrás, Bisão1976 disse:

    alguém já utilizou essa comunicação em modo software

    Sim amigo já utilizei. Mas era em assembly do 8051 não aplicável no seu caso claro. No entanto permita-me observar que não é necessariamente necessário o protocolo i2c. Pode até mesmo ser um 100% original seu que só você entende p.ex enviando por 2 pinos de dados e um de clock (só ex.). 

     

    12 horas atrás, Bisão1976 disse:

    por questão de praticidade

    ...sugeri o bit banging pois já tem coisa pronta na net e quanto à...

    12 horas atrás, Bisão1976 disse:

    rapidez 

    de aprendizado, depende + de você. Do sistema, seu projeto tem que se adaptar à velocidade do mc

     

    Se achar que deve, fale + sobre o projeto, do que consiste, que dados tem que obter, o que faz com eles e etc. De repente dá pra usar um mc só bastando acrescentar mais periféricos burros mesmo

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • @Isadora Ferraz Obrigado mais uma vez por ter respondido.É que na verdade eu fixei em minha mente usar os periféricos interno do microcontrolador como aqui aprendemos nos curso como usar SPI ,I2C e USART e eu não sou um programador com bastante experiência como você,porém sabiamente você clareou minha mente .Eu posso criar meu próprio protocolo e será isso que vou fazer.

    Irei substituir um teclado matricial para um controle remoto protocolo Nec .Farei a decodificação do controle e tratar as teclas apertadas e envia-las para um microcontrolador (AT89C55WD) e este vai envia-las para o pc pois este faz o controle de toda interface.Obrigado 

    Editado por Bisão1976
    • Curtir 1

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    @Bisão1976 ,

     

    Existem bibliotecas onde você pode utilizar qualquer pino do Pic como serial. Eu uso em um projeto um microcontrolador Atmega que tem apenas uma serial por hardware, mas criei mais duas seriais virtuais em outros dois pinos ! Isso é algo comum tanto em Atmegas como em Pics. Pesquise por Software Serial ( é o tal de serial bitbanging que a @Isadora Ferraz mencionou acima ).

     

    A serial que existe no hardware tem a vantagem de trabalhar por interrupção, e as outras seriais virtuais não tem esse recurso, mas muitas vezes não precisamos da interrupção, podemos simplesmente aguardar que os dados sejam enviados/recebidos sem prejudicar nosso programa.

     

    Quanto a decodificar o protocolo NEC dos controles remotos, também existem bibliotecas com isso prontinho, e nesse caso espero que você esteja usando um cristal oscilador, em vez de clock interno, pois precisará de precisão de timing.

    Até é possível fazer isso usando o clock interno, mas vai precisar de conhecimento bem avançado para trabalhar com o famoso OSCAL , e isso não é fácil !

     

    Sugiro você começar utilizando essas bibliotecas existentes, ANTES de você partir para criar seus próprios protocolos de comunicação serial, ou de tentar decodificar códigos de IR, pois são tarefas bem chatinhas para quem não tem muita experiência com programação, ok ?

     

    Paulo

     

    Editado por aphawk

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Crie uma conta ou entre para comentar

    Você precisar ser um membro para fazer um comentário






    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

    Direitos autorais

    Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

    ×