Problemas com o CCS

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Re: Ajuda....

Mensagempor andre_luis » 31 Out 2006 13:49

Qual o erro que está sendo apresentado pelo compilador ?
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Resposta

Mensagempor mega.rod » 31 Out 2006 14:09

undefinid bit ??


Ressalda a nomeação dos botões....

Obrigado e aguardo retorno assim que possivel...
Avatar do usuário
mega.rod
Nibble
 
Mensagens: 83
Registrado em: 17 Out 2006 09:52

Re: Resposta

Mensagempor andre_luis » 31 Out 2006 14:39

Certamente não é isso, mas...
Uma pequena observacao :

Quando voce declarou

#bit botao= portB.0
#bit led = portB.2


Subentende-se que voce desejaria que o BIT0 da porta B fosse INPUT e o BIT2 fosse OUTPUT.

O que se confirma a seguir :

set_tris_b(0b11111011);


Porém, quando voce executa o seguinte comando...

portb=0x00; // limpa portb


Voce transforma automaticamente alguma entrada dessa porta ( no caso, o BIT2 ) em saída.

Dá uma olhada na diretiva #use_standard_io, no help do PCW.


+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Resposta

Mensagempor mega.rod » 31 Out 2006 15:10

O erro que estou encontrando é Undefinid Identifier ?
Avatar do usuário
mega.rod
Nibble
 
Mensagens: 83
Registrado em: 17 Out 2006 09:52

Mensagempor ric_vas » 31 Out 2006 15:19

Não está faltando definir o portB?

#byte portB = 0x06 //verificar este valor

e então

#bit botao= portB.0
#bit led = portB.2

Ric
ric_vas
Nibble
 
Mensagens: 93
Registrado em: 11 Out 2006 22:22
Localização: RS

Re: Ajuda....

Mensagempor Jorge_Francisco » 31 Out 2006 15:29

cpp code
#include	<16f877A.h>	// microcontrolador utilizado
#device adc=10
//#include <math.h> // Biblioteca de função matemática

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Configurações para gravação *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

#fuses hs,nowdt,noprotect,put,brownout,nolvp,nocpd,nowrt // configuração dos fusíveis

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Definições para uso de Rotinas de Delay e uso da Serial *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

#use delay(clock=20000000)
#use rs232(baud=38400 ,xmit=pin_c6,rcv=pin_c7)

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Constantes internas *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Definição e inicialização das variáveis *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
//Neste bloco estão definidas as variáveis globais do programa.

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Definição e inicialização dos port's *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

#use fast_io(a)
#use fast_io(b)
#use fast_io(c)
#use fast_io(d)
#use fast_io(e)

#byte porta = 0x05
#byte portb = 0x06
#byte portc = 0x07
#byte portd = 0x08
#byte porte = 0x09

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Declaração dos flags de software *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
//A definição de flags ajuda na programação e economiza memória RAM.

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* ENTRADAS *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
// As entradas devem ser associadas a nomes para facilitar a programação e
//futuras alterações do hardware.

#bit botao= portb.0

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* SAÍDAS *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
// As saídas devem ser associadas a nomes para facilitar a programação e
//futuras alterações do hardware.

#bit led = portb.2

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Configurações do Pic *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
void main()
{
// configura microcontrolador
setup_adc_ports (no_analogs);
port_b_pullups (true);

// configura os tris
// configuração da direção dos pinos de I/O
//0=saida, 1=entrada
set_tris_a(0b00000000);//
set_tris_b(0b01001111);//
set_tris_c(0b10000001);//
set_tris_d(0b11111111);//
set_tris_e(0b00000111);//

// inicializa os ports

porta=0x00; // limpa porta
portb=0x00; // limpa portb
portc=0x00; // limpa portc
portd=0x00; // limpa portd
porte=0x00; // limpa porte

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Rotina principal *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
while(TRUE) // rotina principal
{

}//fim do while
}

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Fim do Programa *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
Avatar do usuário
Jorge_Francisco
Dword
 
Mensagens: 1009
Registrado em: 12 Out 2006 09:53
Localização: Rio de Janeiro

Reeeeeeeeepergunta..!!

Mensagempor mega.rod » 31 Out 2006 15:44

Poxa Jorge...deu certo...obrigado...

Mais uma pergunta...

#use fast_io(a)
#use fast_io(b)

Informa ao compilador que a definição dos pinos sera feita manual ?

Obrigado
Editado pela última vez por mega.rod em 15 Jul 2012 19:29, em um total de 1 vez.
Avatar do usuário
mega.rod
Nibble
 
Mensagens: 83
Registrado em: 17 Out 2006 09:52

Re: Reeeeeeeeepergunta..!!

Mensagempor andre_luis » 31 Out 2006 16:07

Sim, ao passo que o Standard_io se encarrega disso
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Resposta

Mensagempor mega.rod » 31 Out 2006 16:42

Pessual..
Muito obrigado poe terem me ajudado neste tópico e por isso estou postando uma exemplo mais simples que possa existir pra quem estiver comessando como eu ( Cabaço )...Tudo bem explicadinho e detalhado....
Assim como fui muito ajudado aqui....Trabalho com sistemas de RF e ajudarei em tudo que estiver ao meu alcance...

cpp code
#include <16f628A.h> 	 // microcontrolador utilizado
#fuses INTRC_IO,NOWDT,PUT,PROTECT,BROWNOUT,NOLVP,NOMCLR // configuração dos fusíveis
#use delay(clock=4000000) //clock de 4 Mz
#use rs232(baud=19200, xmit=PIN_b4,rcv=PIN_b5) //Conf. RS232

#use fast_io(a)
#use fast_io(b)

#byte porta = 0x05
#byte portb = 0x06

#bit botao= porta.0 //Nomeação do bit (RA0)
#bit led = porta.1 //Nomeação do bit (RA1)

void ini()
{
set_tris_a(0b11111101); //Na ordem:RA7,RA6,RA5,RA4,RA3,RA2,RA1,RA0
set_tris_b(0b11111111); //Na ordem:RB7,RB6,RB5,RB4,RB3,RB2,RB1,RB0

porta=0x00; // limpa porta
portb=0x00; // limpa portb
}

void main()
{
ini(); //Chama a função ""ini();"" logo acima para inicializar as IOs
while(1) // rotina principal ( loop )
{
if(!botao) //Aguarda o botão ficar em estado "0" para proceguir
{
led=1; //liga o léd
delay_ms(150); //aguarda 150ms
led=0; //desliga o léd
delay_ms(150); //aguarda 150ms
}
}
}
Avatar do usuário
mega.rod
Nibble
 
Mensagens: 83
Registrado em: 17 Out 2006 09:52

Anterior

Voltar para PIC

Quem está online

Usuários navegando neste fórum: Google [Bot] e 1 visitante

x