Acender um LED em C

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Acender um LED em C

Mensagempor Vonnilmam » 02 Dez 2014 19:08

Saudações,

Estou brigando com o CCS 4.068...para fazer um led piscar num pic 18f4520, por favor o que esta acontecendo de errado, porque o código abaixo a ser compilado da erro informando problemas na variavel "tempo": :mrgreen:

cpp code
#include "C:\MULTIPIC AD\EXEMPLOS EM C\blink.h"
//#include <stdio.h>

void main ()
{

setup_adc_ports(NO_ANALOGS|VSS_VDD);
setup_adc(ADC_OFF|ADC_TAD_MUL_0);
setup_psp(PSP_DISABLED);
setup_spi(SPI_SS_DISABLED);
setup_wdt(WDT_OFF);
setup_timer_0(RTCC_INTERNAL);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_timer_3(T3_DISABLED|T3_DIV_BY_1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);

{
while (true)
{
int tempo
tempo=100
output_high (pin_b0)
delay_ms (tempo)
output_low (pin_b0)
delay_ms (tempo)
}
}
VonNilmam "Assembler" e agora "C"
Avatar do usuário
Vonnilmam
Byte
 
Mensagens: 446
Registrado em: 19 Out 2006 14:25
Localização: espacial

Re: Acender um LED em C

Mensagempor andre_luis » 02 Dez 2014 19:58

Dentro da função main(), está faltando ponto-e-vírgula após todos os comandos.
"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

Re: Acender um LED em C

Mensagempor Vonnilmam » 02 Dez 2014 21:28

Muito obrigado, realmente foi muita falta de atenção.

Grato,
VonNilmam "Assembler" e agora "C"
Avatar do usuário
Vonnilmam
Byte
 
Mensagens: 446
Registrado em: 19 Out 2006 14:25
Localização: espacial

Re: Acender um LED em C

Mensagempor MOR_AL » 03 Dez 2014 07:43

Sou iniciante em C.
Não estaria faltando o "fecha chaves" da função main?
Ela seria redundante?
MOR_AL
"Para o triunfo do mal só é preciso que os bons homens não façam nada." Edmund Burke.
"Nunca discutas com pessoas estúpidas. Elas irão te arrastar ao nível delas e vencê-lo por possuir mais experiência em ser ignorante". Mark Twain
Avatar do usuário
MOR_AL
Dword
 
Mensagens: 2934
Registrado em: 19 Out 2006 09:38
Localização: Mangaratiba - RJ

Re: Acender um LED em C

Mensagempor Maffeis » 03 Dez 2014 09:22

Acho que tem uma "{" a mais no código antes do while.
Maffeis
Word
 
Mensagens: 501
Registrado em: 07 Ago 2010 19:10

Re: Acender um LED em C

Mensagempor vtrx » 03 Dez 2014 09:30

No código postado como exemplo,esta faltando.
Avatar do usuário
vtrx
Dword
 
Mensagens: 2239
Registrado em: 20 Abr 2008 21:01

Re: Acender um LED em C

Mensagempor ze » 03 Dez 2014 12:38

um pisca led mais eficiente
Código: Selecionar todos
#define led RB0
#include <pic.h>
void main(void)
{
unsigned int i;
...//inicializa hw
for(;;)
{
i=1000; //p.ex.
led^=1;
while(i--);
}
}

não se deve usar led verde
Avatar do usuário
ze
Dword
 
Mensagens: 1655
Registrado em: 05 Jun 2007 14:32

Re: Acender um LED em C

Mensagempor andre_luis » 03 Dez 2014 14:50

Não sei se isso faz tanta diferença assim, mas eu teria preferido declarar o trecho abaixo, não dentro do while(true), mas logo acima, dentro do main().

Código: Selecionar todos
int tempo    ;
tempo=100  ;
"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

Re: Acender um LED em C

Mensagempor ze » 03 Dez 2014 15:27

de fato não faz sentido. Como está, nem mesmo compensa declarar temp. Valeria mais a pena com constante mesmo - delay(100) - a não ser que esta &*%$#@ de compilador só aceite variáveis como argumento. discussãozinha tá ficando chata e grande demais prum simples pisca led. aff. Eu fecharia o tópico assim que o autor se satisfez.... E por favor não comentem mais pra não me OBRIGAR a rever este tópico
Avatar do usuário
ze
Dword
 
Mensagens: 1655
Registrado em: 05 Jun 2007 14:32

Re: Acender um LED em C

Mensagempor vtrx » 03 Dez 2014 15:31

Não sei se isso faz tanta diferença assim, mas eu teria preferido declarar o trecho abaixo, não dentro do while(true), mas logo acima, dentro do main().

É só olhar a saída ASM que o compilador gerou.
Avatar do usuário
vtrx
Dword
 
Mensagens: 2239
Registrado em: 20 Abr 2008 21:01


Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x