-
Posts
5 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
posts postados por dvd_junio
-
-
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.
-
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?
-
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');
-
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
PIC ler/modificar dados na eeprom de outro PIC
em Microcontroladores
Postado
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.