Ir ao conteúdo
  • Cadastre-se

Não consigo programar me módulo hc 05 via pic 16f628a


Posts recomendados

Esqueci de adicionar uma coisa... de um dos tópicos antigos que ajudei ... além de colocar o pino RB4/PGM  aterrado no GND (0V) quando estiver em atividade normal depois de você programar.  Só para fazer um teste e ver se não é uma das configurações dos fuses que está influenciando também, apesar de claramente o Low Voltage programming ser desabilitado nos fuses no caso por padrão. 

 

Depois de usar essas duas possibilidades... Só avisa ^^ ai eu falo se continuo ou não... X) Boa noite.

 

 

Link para o comentário
Compartilhar em outros sites

Ok  Eu achei q não ia me ajudar Mais, por isso criei outro tópico. Não sei direito como funciona esse fórum. Mas com certeza as informações q está me passando estão sendo de grande valia.

Mesmo q meu projeto ainda não esteja funcionando,  já aprendi bastante aqui e vou conticontinuar...

 

Uma pergunta meio pessoal kkk você trabalha aqui ou você é uma pessoa alheia q resolveu me ajudar? 

 

 

Link para o comentário
Compartilhar em outros sites

estou de férias... isso explica muita  coisa huahuauhauhauh Não trabalho aqui nem nada, já até discordei de um dos artigos criado pelo dono da comunidade ^^, não tenho nenhuma ligação , estou aprendendo por aqui também.

 

Ainda estou sentindo falta do teu circuito desenhado ^^ a lógica de programação dele está passando pelo if e mando a informação de volta, estranhei muito que quando você aumentou a velocidade ele funcionou, ele tem que estar na velocidade do cristal que você usa, se não me engano ^^

 

Olha um código simples e que está funcionando, com desenho do circuito incluso

https://www.hackster.io/aXr/do-it-yourself-automated-solar-emergency-lamp-9fd016

Não tem erro na lógica do programa que coloquei... e deveria estar funcionando...

Poderia ser uma livraria que não está ativa... mas quando você manda o código ele retorna o valor... ou seja, está funcionando essa parte... Por isso que estou com tanta dúvida no teu circuito físico desenhado.

 

 

Enfim desisto ^^

Chamando os POWER RANGERS!!!

@aphawk @Isadora Ferraz @test man*~ @Mestre88

 

 

Ia chamar mais gente mais deu bug aqui, parece que não dá para chamar mais do que isso por tópico lol

huahuauhahuauhauhauhauhauhahuahuauhauha

 

fuizzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz :) ^^

Link para o comentário
Compartilhar em outros sites

17 minutos atrás, Bommu Perneta disse:

 

 

kkkkk Power Rangers foi pesado ein !!!!!

 

Mas você está se saindo muito bem aqui no Fórum !!!

 

@Oziel Rossow da Silva,

 

Vamos ver se consigo te ajudar, mas antes por favor poste uma foto de seu módulo, tanto a parte de cima como a de baixo.

 

Já ví uns módulos que vendem como HC-05 e na verdade são 06 ou outros pareçidos, então melhor nos certificar.

 

A melhor coisa é conversar com esse módulo usando um divisor resistivo mesmo, ou se tiver um desses pequenos módulos de transceivers que fazem a conversão de 3,3 para 5 e vice-versa.

 

Muitas vezes eles vem programados diferente, ou seja, alguém já andou fuçando com eles antes de chegar em nossas mãos, então precisaremos reprogramar o dito cujo.

 

Aguardo suas fotos.

 

Paulo

Link para o comentário
Compartilhar em outros sites

até que enfim funcionou... 

 

unsigned char uart_rd,i;

void main() {
   trisa.f0 = 0;
   trisb.f0 = 0;
   uart1_init(9600); //uart module at 9600 bps
   delay_ms(100); // wait for uart module to stabilize
    while (1)
{ // endless loop
               if (uart1_data_ready())
                { // if data is received,
                           uart_rd = uart1_read();
                           uart1_write(uart_rd);
                }
                         if (uart_rd == 'x')
                       {
                                portb.f0 = 1; //led off
                       }
                       if (uart_rd == 'a')
                       {
                                portb.f0 = 0; //led on
                       }
                       

                         if (uart_rd == 'd')
                       {
                                porta.f0 = 1; //led off
                       }
                       if (uart_rd == 'l')
                       {
                                porta.f0 = 0; //led on
                       }
}
}

esse código e do link acima, q fiz uma alteraçao para adicionar mais um led, funcionou beleza

 

na verdade eu ainda não sei onde estava o erro

 

Capturar.PNG

Link para o comentário
Compartilhar em outros sites

Os ifs estão fora da verificação do  if (uart1_data_ready()) que verifica o estado da ligação e dentro do while.

 

Então ele não esta´aceitando if dentro de if na programação... if(){comando if(){comandos2}}

adicionado 1 minuto depois

Também não sei se é erro da programação ou se você fez algo diferente ai...

Link para o comentário
Compartilhar em outros sites

To falando do código a diferença entre eles... o antigo era if dentro de if e esse mais novo os ifs estão separados um do outros.

adicionado 4 minutos depois

Testei no code blocks e a linguagem C++ aceita , sim, if dentro de if...

 

Testa ai o código antigo que eu coloquei vê se funciona, não precisa tirar os leds.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...