Posição da RAM sendo zerada

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Posição da RAM sendo zerada

Mensagempor eliandrostz » 16 Dez 2010 21:32

Senhores,

Num projetinho que estou fazendo, usando PIC18F252 e Mikroc a variável que está na posição 0x006E da RAM é zerada toda vez que uso a função IntToStr do Mikroc.

Alguém tem idéia do porquê que isso acontece??

Será que vou precisar declarar posições absolutas para todas variáveis, ou existe uma forma de impedir que alguma variável caia nessa posição da RAM??

Grato.
O conhecimento vem e vai, a sabedoria permanece...
eliandrostz
Nibble
 
Mensagens: 71
Registrado em: 16 Out 2006 13:51

Mensagempor leoabubauru » 20 Dez 2010 18:18

Um palpite:
Estouro de pilha???
Acho que o PIC usa a RAM para pilha...
Tento, tento e tento...
Me arrebento!
Também bato!
Ô negocim bunitim essa tal eletrônica de barco!
leoabubauru
Byte
 
Mensagens: 227
Registrado em: 21 Nov 2006 19:08
Localização: São Paulo

Mensagempor eliandrostz » 21 Dez 2010 07:39

leoabubauru escreveu:Um palpite:
Estouro de pilha???
Acho que o PIC usa a RAM para pilha...


Se houvesse um estouro da pilha, consequentemente não haveria um reset??
O conhecimento vem e vai, a sabedoria permanece...
eliandrostz
Nibble
 
Mensagens: 71
Registrado em: 16 Out 2006 13:51

Mensagempor barboza » 21 Dez 2010 16:19

Toda string termina com um caracter nulo '\0' = 0x00, então sua alocação de memória para a string deve estar pequena (-1) e com isso sobreescreve endereço que deve ser o próximo.
Os homens mentiriam muito menos se as mulheres fizessem menos perguntas.
Avatar do usuário
barboza
Word
 
Mensagens: 948
Registrado em: 17 Out 2006 13:42
Localização: Longe de onde gostaria de estar

Mensagempor leoabubauru » 22 Dez 2010 00:33

eliandrostz escreveu:
Se houvesse um estouro da pilha, consequentemente não haveria um reset??



Nem sempre...


E acho que a dica do barboza é bem a cara do seu problema...
Tento, tento e tento...
Me arrebento!
Também bato!
Ô negocim bunitim essa tal eletrônica de barco!
leoabubauru
Byte
 
Mensagens: 227
Registrado em: 21 Nov 2006 19:08
Localização: São Paulo

Mensagempor eliandrostz » 22 Dez 2010 06:59

barboza escreveu:...então sua alocação de memória para a string deve estar pequena (-1)


Mesmo aumentando o tamanho o problema continuou, então declarei uma variavel qualquer sem uso no programa com a diretiva absolute 0x006E para impedir que uma outra caisse nessa posição, pode não ser o mais indicado, mas resolveu o problema.

obrigado leoabubauru e barboza pela atenção.
O conhecimento vem e vai, a sabedoria permanece...
eliandrostz
Nibble
 
Mensagens: 71
Registrado em: 16 Out 2006 13:51

Mensagempor Djalma Toledo Rodrigues » 22 Dez 2010 08:07

De 0 a 07Fh é área de Acess Ram

Porque não na área GPR da Ram
Endereço a partir de 080h ?

Ver Datasheet fig. 4-6 página 45

DJ
Avatar do usuário
Djalma Toledo Rodrigues
Dword
 
Mensagens: 2334
Registrado em: 03 Ago 2008 13:22


Voltar para PIC

Quem está online

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

x