Ir ao conteúdo
  • Cadastre-se

PIC Comunicação entre 2 microcontroladores pic


Posts recomendados

  • Membro VIP

teste...

 

https://i.imgur.com/udFaAN2.mp4

(não rodou direto aqui)

 

// proteção do código,4Mhz,powerup,lowvoltagedis,debdis,flaswritedis,wathdogdis,brownouresetdis
//__CONFIG(PROTECT & XT & PWRTEN & LVPDIS & DEBUGDIS & WRTDIS & WDTEN & BOREN); //876
__CONFIG(UNPROTECT & XT & PWRTEN & LVPDIS & DEBUGDIS & WDTDIS & BOREN);   //876a
//***************************************************
static void interrupt
timer_int(void)
{
}
//*********************************************************
void main(void)
{
OPTION=0b00100001; //com pullup, clock ligado em RA4, prescaler/
T1CON=0b00000111; //timer on, prescale 1:1, não sincroniza, clock externo, timer1 on
ADCON1=0b00000110; //AN=digital
TRISA=0b00001001; //RA3, RA1=entrada comparador
//TRISB=0xff; //lado dos sensores
TRISB=0x00; //lado dos leds
CMCON=0b00000001;
T1CON=0B00010101;   // prescaler /2 timer1 on
TMR1IF=0;           //zera flag timer1
TRISC=0b10011111;//RC7,RC6=txrx,RC5=buzzer,RC4,RC3=e2p,RC2=vnr,RC1=por,RC0=comtec1
//------------- interface serial-------
SPBRG=155;    //9600,n,8 @ 24MHz
TXEN=1;       //hab. transmissão
//BRGH=0;	  //sel. baud rate baixa 2400bps
BRGH=1;       //sel. baud rate alta  9600bps
SYNC=0;       //assinc.
SPEN=1;       //hab. pinos como int. serial
CREN=1;       //recepção contínua
RCIF=0;       //flag de recepção
RCIE=1;		  //hab int serial
//--------------------------------------

for(;;)
{
//	TXREG=PORTB; 	//lado dos
//	while(TXIF); 	// sensores	

	while(!RCIF);	//lado dos
	PORTB=RCREG;   	//leds
}

}

... há + de uma década...

 

txrx1.zip

uaB4Ay7.png

  • Curtir 1
  • Obrigado 1
  • Amei 1
Link para o comentário
Compartilhar em outros sites

  • mês depois...

@.if Uma dúvida....

 

Em 04/11/2020 às 11:47, .if disse:

OPTION

Esse compilador (CCS ou mikroc ou qual?) reconhece esses nomes, assim numa boa?

Não é preciso antes fazer isso?  

#byte CMCON = 0X1F (no caso do pic 16f628a) ou

#bit T0if = 0x0b.2? (exemplo)

 

Obrigada! 😄

 

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

  • Membro VIP
4 horas atrás, Maria Cristina Oliveira disse:

Esse compilador

É (era) o hitech-c...

https://www.microchip.com/DevelopmentTools/ProductDetails/PartNO/SW500010

notoriamente ainda é o melhor e mais eficiente entre os compiladores que testei.

 

4 horas atrás, Maria Cristina Oliveira disse:

Não é preciso antes fazer isso?  

#byte CMCON = 0X1F (no caso do pic 16f628a) ou

#bit T0if = 0x0b.2? (exemplo)

Não precisa. O acesso é direto mesmo. Só por aí você percebe o diferencial daquele compilador.

Seu exemplo tá errado. Não existe 2 na notação binária 🙂

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP
6 horas atrás, Maria Cristina Oliveira disse:
9 horas atrás, .if disse:

 

Isso?

 

#bit T0if = 0x0B.2 

não. Mas reconheço que não conheço seu compilador que pode permitir esta definição atípica meia fora de padrão, portanto desconsidere...

10 horas atrás, .if disse:

Seu exemplo tá errado. Não existe 2 na notação binária

abç🙂

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

5 horas atrás, .if disse:

não. Mas reconheço que não conheço seu compilador que pode permitir esta definição atípica meia fora de padrão, portanto desconsidere...

15 horas atrás, .if disse:

Boa Noite! (Só volto a falar com você no ano que vem...🥳 )

 

Esse exemplo foi retirado de um livro do Fábio Pereira, sobre PICs e compiladores CCS (aquele livro famoso...)

 

Beijos! Fui. 🥳🥳🥳

  • Curtir 1
  • Haha 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP
11 horas atrás, Maria Cristina Oliveira disse:

Boa Noite! (Só volto a falar com você no ano que vem...🥳 )

Bom dia! (aposto que você está desde o ano passado sem almoçar nem jantar😜 )

 

11 horas atrás, Maria Cristina Oliveira disse:

exemplo foi retirado de um livro do Fábio Pereira, sobre PICs e compiladores CCS (aquele livro famoso

kibon... Então há chance de funcionar. Apesar de não conhecer tal compilador nem livro, penso que ele foi uma tentativa de universalizar todos os pics num compilador só que o distanciou do ansi-c padrão, algo como ocorre com arduino e cia.

 

=mente... 😘😗😚

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP
Em 31/12/2020 às 02:13, Maria Cristina Oliveira disse:

#bit T0if = 0x0b.2? (exemplo)

 

47 minutos atrás, alexandre.mbm disse:

perguntas ao Google, sem sucesso:

Fiz as mesmas com relativo sucesso do qual vos apresento um resumo 1/2 boca...

-coincidência com confusão (minha claro). 0x0b é hexadecimal e não binário como pareceu pra minha vista cansada. Me dá um desconto pois parece 0b que é o começo da determinação em binário

-portanto suponho que #bit é uma diretiva que informa ao compilador que o que vem a seguir é variável tipo bit

-T0IF é um flag do timer0 Timer0 Interrupt Flag. Ele é o bit2 do registro INTCON cujo endereço físico absoluto é 0xb ... o originador da (minha) confusão.

INTCON.png

 

O ccs resolveu definir daquela forma mas outros compiladores, outras definições. P.ex. este me parece ser o mikroc

https://eletronworld.com.br/microcontroladores/microcontroladores-pic-timer-0/

 

No hitech-c tudo já estava definido nos #includes que aliás era automático. E tudo exatamente como estava no datasheet, com zero esforço pro projetista pra redefinir de novo.

 

Isso é que eu chamo de uma verdadeira escovada de bits😁

  • Curtir 2
  • Amei 1
  • Haha 1
Link para o comentário
Compartilhar em outros sites

@Maria Cristina Oliveira ,

 

Até onde eu me lembre, faz bastante tempo, este livro abaixo era considerado a referência em usar Pic  com linguagem C :

 

https://www.amazon.in/dp/0137592590/ref=as_sl_pc_tf_til?tag=sanfoundry-21&linkCode=w00&linkId=d78711e8ac71cb92e5acb75b23fc198f&creativeASIN=0137592590

 

O problema desses livros nacionais sempre foi a imprecisão nos programas, tem de consultar o site da editora pois costuma ter um arquivo de Erratas ...

 

E cá entre nós, existem milhares de livros no Brasil que foram escritos por um cara que aprendeu a programar em alguma linguagem e pouco tempo depois se considerava um Mestre no assunto... isso desde a época do DBase II, Clipper, já na época dos anos 80 .... tinha gente que publicava o Help do Wordstar , traduzido para o Português, como um livro de preciosas dicas ....

 

Paulo

  • Curtir 1
  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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!