Ir ao conteúdo
  • Cadastre-se

Dúvida no compilador


nobrevagabundo

Posts recomendados

olá pessoal..

Hoje parei para pensar um pouco e gostaria da ajuda de vocês, em meus projetos com CCS C, sempre coloquei o output_high (solenoideb)

Mais gostaria de saber de vocês se é melhor usar desta forma citada acima ou com utilização dos TRISB, TRISA Etc... acompanhado de um fast Port

duvida 2

Qual a diferença de colocar a comunicação serial com isso

usart_inicializa (12,1); // velocidade: 19200

usart_transmite ("testando USART \r\n");

ou posso usar o velho e bom printf ?

Estou uilizando o CCS C

Link para o comentário
Compartilhar em outros sites

Suas perguntas vão depender exclusivamente do código fonte ASM gerado pelo CCS.

Compile dos dois modos e verifique a listagem em ASM que ele gerou para fazer as comparações.

PS:Geralmente no manual existe algumas explicações dos códigos gerados com certos comandos.

Link para o comentário
Compartilhar em outros sites

Suas perguntas vão depender exclusivamente do código fonte ASM gerado pelo CCS.

Compile dos dois modos e verifique a listagem em ASM que ele gerou para fazer as comparações.

PS:Geralmente no manual existe algumas explicações dos códigos gerados com certos comandos.

entedi amigo, mais não teria uma forma vamos se dizer 'padrão" de utilização desta funções(comandos)

Link para o comentário
Compartilhar em outros sites

Não porque depende da aplicação.

output_high

Isto no CCS gera a instrução BSF PORTb,0(caso seja o PORTB RB0).

Usando output_high e na sequencia output_low (ou high) provavelmente vai gerar instabilidade pois em 'fast port'(que gera BSF/BCF alguma coisa),uma mudança na porta precisa de pelo menos uma instrução NOP,que no caso so CCS seria 'delay_cycles(1);'

Então quando usar Fast Port (output_high/low),em sequencia,voce tem que acrescentar um ''delay_cycles(1)'.

output_high( PIN_B0 );
delay_cycles(1);
output_high( PIN_B1 );

Outra observação é que TRISB/TRISA altera a direção dos pinos apenas.

voce deve verificar estas observações no datasheet do PIC e no manual do CCS.

Tem matérias que voce sempre tem que estudar mesmo que seja chato ou difícil;

1-O Datasheet do Micro.

2-Seu Assembly.

Qualquer compilador C,Basic,Pascal etc que não seja oficial de um produto,não é garantido que seja totalmente funcional ou compatível porque só quem fabrica o micro tem informações privilegiadas do produto,então sempre leia todo o Help de um compilador.

Link para o comentário
Compartilhar em outros sites

Não porque depende da aplicação.

Isto no CCS gera a instrução BSF PORTb,0(caso seja o PORTB RB0).

Usando output_high e na sequencia output_low (ou high) provavelmente vai gerar instabilidade pois em 'fast port'(que gera BSF/BCF alguma coisa),uma mudança na porta precisa de pelo menos uma instrução NOP,que no caso so CCS seria 'delay_cycles(1);'

Então quando usar Fast Port (output_high/low),em sequencia,voce tem que acrescentar um ''delay_cycles(1)'.

output_high( PIN_B0 );
delay_cycles(1);
output_high( PIN_B1 );

Outra observação é que TRISB/TRISA altera a direção dos pinos apenas.

voce deve verificar estas observações no datasheet do PIC e no manual do CCS.

Tem matérias que voce sempre tem que estudar mesmo que seja chato ou difícil;

1-O Datasheet do Micro.

2-Seu Assembly.

Qualquer compilador C,Basic,Pascal etc que não seja oficial de um produto,não é garantido que seja totalmente funcional ou compatível porque só quem fabrica o micro tem informações privilegiadas do produto,então sempre leia todo o Help de um compilador.

Olá Amigo obrigado pelas informações, vou começar a transpor os códigos simples para verificar estas equivalências, quanto ao ASM, já programei para 8051, em ASM puro, pois lá não tem este tipo de funções vamos dizer que ofereçam mais de 2 opções para gerar o mesmo resultado.

Agradeço...

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para 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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!