Existe alguma coisa errada?

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Existe alguma coisa errada?

Mensagempor Bardelli » 10 Mai 2007 21:15

Olá All. Estou tentando usar o PIC12F509 configurado para OSCILADOR INTERNO. POrém o código abaixo não funciona apesar de compilar (simplesmente nada acontece). Alguém pode ver se eu cometi algum erro?. Abraços

#include <12F509.h>
#fuses INTRC,NOWDT,NOMCLR
#use delay (clock=4000000)

main(){
int i;
i=0;
while(i==0){
output_high(pin_b1);
delay_ms(1);
output_low(pin_b1);
delay_ms(1);
}




}
Bardelli
Byte
 
Mensagens: 126
Registrado em: 20 Out 2006 12:42

Mensagempor Flaviofrc » 10 Mai 2007 21:30

Eu faço um pouco diferente de vc , não sei se este é o erro mas......

#include <12F509.h>
#fuses INTRC,NOWDT,NOMCLR
#use delay (clock=4000000)

main(){
while(true){
output_high(pin_b1);
delay_ms(1);
output_low(pin_b1);
delay_ms(1);
}




}
Flavio
Flaviofrc
Byte
 
Mensagens: 111
Registrado em: 16 Out 2006 17:32
Localização: São Paulo

Mensagempor Ledistor » 10 Mai 2007 22:23

O que está ligado no pino? Um LED? Se for aumente o delay, com 1ms você não vai ver nada.
Ledistor
Bit
 
Mensagens: 11
Registrado em: 10 Dez 2006 11:07
Localização: São Paulo

Mensagempor Bardelli » 11 Mai 2007 00:12

Esta ligado um Osciloscopio!!!! :-)

Abraços
Bardelli
Byte
 
Mensagens: 126
Registrado em: 20 Out 2006 12:42

Mensagempor hemasc » 11 Mai 2007 07:23

olhe no 12F509.h se o oscilador interno está setado corretamente e não sei se é obrigatório mas não custa tentar setar o tris_b.

#include <12F509.h>
#fuses INTRC,NOWDT,NOMCLR
#use delay (clock=4000000)

main(){
set_tris_b(0x0);
int i;
i=0;
while(i==0){
output_high(pin_b1);
delay_ms(1);
output_low(pin_b1);
delay_ms(1);
}
hemasc
Nibble
 
Mensagens: 80
Registrado em: 26 Fev 2007 08:59
Localização: Campinas - SP

Mensagempor painho » 11 Mai 2007 08:53

#include <12F509.h>

#FUSES NOWDT //No Watch Dog Timer
#FUSES INTRC //Internal RC Osc
#FUSES NOPROTECT //Code not protected from reading
#FUSES MCLR //Master Clear pin enabled

#use delay(clock=4000000)


void main()
{

setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);

while(true){
output_high(pin_b1);
delay_ms(500);
output_low(pin_b1);
delay_ms(500);
}

}
painho
Bit
 
Mensagens: 24
Registrado em: 16 Out 2006 09:21

Mensagempor andre_luis » 11 Mai 2007 09:35

só como teste, pode colocar a diretiva :
#use_standard_io
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Mensagempor painho » 11 Mai 2007 10:26

acho que "#use_standard_io" nao altera muita coisa no CCS ele configura automaticamente isso e mas uma repetição de comando,
so em alguns caso vale usar “#use fast_io(X)” sendo X a porta q vc quer melhorar a velocidade da porta
painho
Bit
 
Mensagens: 24
Registrado em: 16 Out 2006 09:21

Mensagempor andre_luis » 11 Mai 2007 10:56

poisé...mas na verdade, como mencionei, isso seria apenas em carater de teste, pois certificaria que o Bardelli nao estivesse cometendo algum erro na configuracao do TRIS, já que essa diretiva automatiza essa definição em tempo de execução.

+++
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Mensagempor zielpunkt » 11 Mai 2007 14:18

Amigo,

Esse osciloscópio que fala é real ou seria o do Proteus? Pq se estiver simulando no Proteus, tem que jogar algum valor no endereço onde ele busca o valor pro osccal (tipo '#rom 0x3ff = { 0xNNNN }', senão não funciona. Qquer forma, o código com variavel "i" e "while i==0" estão ali de enfeite, bastava "while(true)", mas isso também não afeta em nada. Fora isso, não parece ter nada errado com o seu código.

Abço.
"Talento é mais barato que sal. O que separa a pessoa talentosa da bem-sucedida é muito trabalho duro." [ Stephen King ]
zielpunkt
Byte
 
Mensagens: 376
Registrado em: 12 Out 2006 11:36
Localização: Sao Paulo - SP

Mensagempor Bardelli » 12 Mai 2007 13:33

Olá.

O osciloscópio é real.

Eu tentei todos os códigos que vcs passaram e não funcionou. Eu acredito que realmente seja algum Bug do CCS em relação a configuração do Oscilador Interno desse Componente. Eu tenho certeza que o problema não é com a placa, pois já utilizo o pic faz alguns anos. Vou tentar escrever um código com outro compilador e ver oque vai dar...

abraços
Bardelli
Byte
 
Mensagens: 126
Registrado em: 20 Out 2006 12:42

Mensagempor Bardelli » 14 Mai 2007 13:57

Olá All

Dito e feito. O problema éra realmente um bug do compilador

Compilador com Bug: CCS PICC V3.242

Compilador ok: CCS PICC V.4.013


Obs: O mesmo código foi usado para as duas versões.., porém o pic só funcionou para a Vers]ao 4.013

abraços e obrigado a todos pelas opiniões.
Bardelli
Byte
 
Mensagens: 126
Registrado em: 20 Out 2006 12:42


Voltar para PIC

Quem está online

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

cron

x