Ir ao conteúdo
  • Cadastre-se

dvd_junio

Membro Júnior
  • Posts

    5
  • Cadastrado em

  • Última visita

Reputação

0
  1. Podem fechar o topico. Consegui. Para "quebrar" o int16 no 12F e envia-lo pela serial usei a funçao make8 e para "juntar" o int16 no 16F usei a funçao make16 do compilador CCS.
  2. Recapitulando: No pic 12F675 estou enviando um int16 pela serial e desejo "representar" este mesmo int16 no pic 16F628a. Consegui separar esta int16 em dois bytes enviando cada byte por vez como pode ser visto na imagem abaixo. O valor que esta na int16 é o numero 6453. Mostro atraves do print na simulação do proteus este valor ja variavel kw1 e ele "saindo" pelo tx como mostrado no virtual terminal (6453 dec = 198F hex). Não tô conseguindo direcionar estes dados em uma variavel no pic16F. Estou usando o compilador CCS.
  3. Tudo que coloco entre aspas simples '' no putc sai corretamente do micro e é mostrado no terminal virtual. Por exemplo: putc('z') -> sai e e mostrado no terminal a letra z putc('i') -> sai e e mostrado no terminal a letra i putc('p') -> sai e e mostrado no terminal a letra p putc('3') -> sai e e mostrado no terminal o numero 3 Como fazer para sair no putc o valor de uma variavel declarada? Por exemplo: x= 8 putc(x) Fazer este 8 sair e ser mostrado no virtual terminal?
  4. Não deu certo. Continua na mesma. 16f envia o 'C', o 12f decodifica e retorna o '0'. Qualquer valor forçado, por exemplo se eu declarar que a=1 , quando executo o putc(a), a serial não envia o '1' conforme declarado anteriormente. Só sai o putc('0');
  5. Olá pessoal. O que esta acontecendo é que estamos utilizando um pic 16f628a enviando a letra 'C'. Se este 'C' corresponder ao que está no 12f675, este 12f675 retorna para o 16f628 um "0" como confirmação e logo em seguinda o que esta nas variaveis a,b,c e d atraves do comando printf. Este dados "saem" do 12f675. Não estamos conseguindo capturar estes dados no 16f628 e armazena-los em um int16. segue o que temos no 12f char dado[9]; int i; int a=9,b=9,c=9,d=9; int confirma=0; void serial(){ gets(dado); if(dado[0]=='C' ) { x[0]="0"; } for(i=0;i<2;i++){ delay_ms(250); putc(x);} printf("%1u""%1u""%1u""%1u",a,b,c,d); }

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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!