Ir ao conteúdo

PIC Linguagem C - Configuração de SFRs


Ir à solução Resolvido por Maria Cristina Oliveira,

Posts recomendados

Postado

Olá!

Estou tentando escrever um programa para o PIC 16f628 usando a linguagem C e o compilador CCS mas não estou conseguindo...

O compilador insiste em dizer que eu errei mas não consigo ver o erro...

 

(pic 16f628)

#use delay(clock = 4M)
#use fast_io (a)
#use fast_io (b)
#byte cmcon = 0x1F//endereço  do SFR na ram
#byte option_reg = 0x81//endereço  do SFR na ram
#byte rcsta = 0x18//endereço  do SFR na ram
cmcon = 0b00000111;                       // ...................................................acusou erro
option_reg = 0b11000111;                 // ....................................................acusou erro
bit_clear(rcsta,7);                              //.................................................... acusou erro


void main(void)
 

Estou tentando configurar esses registradores SFRs (cmcon, option_reg, rscta) mas como não constam na biblioteca do pic que eu tenho aqui, vi num livro que posso usar esse artifício #byte cmcon = 0x1F//endereço  do SFR na ram .

 

Só que não está dando certo...

Se você ( que sempre me ajuda) puder me dar uma força, eu agradeço!

 

Maria Cristina Oliveira

  • Solução
Postado
2 horas atrás, Maria Cristina Oliveira disse:

Estou tentando configurar esses registradores SFRs (cmcon, option_reg, rscta) mas como não constam na biblioteca do pic que eu tenho aqui, vi num livro que posso usar esse artifício #byte cmcon = 0x1F//endereço  do SFR na ram .

Oi!

Acho que entendi...estava fazendo do jeito errado.

A configuração dos comparadores (cmcon), do timer 0 (option_reg) e da USART (rcsta) é feita de outra forma, na linguagem C.

setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1); 

setup_comparator(NC_NC_NC_NC); 

 

O problema está resolvido, farei do jeito certo.   :)

 

Maria Cristina Oliveira

 

Postado
2 horas atrás, Maria Cristina Oliveira disse:

Acho que entendi...estava fazendo do jeito errado.

A configuração dos comparadores (cmcon), do timer 0 (option_reg) e da USART (rcsta) é feita de outra forma, na linguagem C.

setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1); 

setup_comparator(NC_NC_NC_NC); 

Oi:

Na verdade, dá para fazer dos dois jeitos. No primeiro caso, tava dando erro porque eu coloquei a configuração dos SFRs fora da função main. 👍

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

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!