Bancos Memória RAM PIC16F877A (Paginação)

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Bancos Memória RAM PIC16F877A (Paginação)

Mensagempor Mersin » 17 Fev 2009 12:34

Olá pessoal,

Estou trabalhando com o MPLAB 8.10 e CCS 3.02 e meu programa está utilizando cerca de 113 bytes com variáveis na RAM, porém, ao compilar o mesmo, o CCS me diz que já está ocupando 97% da mesma.

Só não entendo como está enchendo se o 877A tem 368Bytes de RAM?
Mersin
Mersin
Byte
 
Mensagens: 121
Registrado em: 22 Out 2006 13:07
Localização: Goiânia

Mensagempor otavio luiz » 17 Fev 2009 13:17

Todo compilador reserva parte da memória ram para algumas funções especificas, se voce der uma olhada o help do compilador vai ver que ele esta escrito quanto é o maximo de memória ram disponivel para cada chip. Alias acho que só em assembler mesmo pra voce ter disponivel toda a ram.
Lembre-se, zona de Fresnel não é nenhuma franquia de puteiro.
Avatar do usuário
otavio luiz
Byte
 
Mensagens: 257
Registrado em: 11 Out 2006 13:56
Localização: Barretos - SP, terra de Peão

Mensagempor ffcprog » 17 Fev 2009 13:17

Fácil, é CCS né!!
Ja está respondido!!

ffcprog
ffcprog
Byte
 
Mensagens: 145
Registrado em: 14 Fev 2007 23:16

Mensagempor otavio luiz » 17 Fev 2009 13:25

Outra coisa é que a quantidade de bytes disponivel na ram depende do tipo de variável que voce utiliza, ela pode ser de 1byte, 2 bytes, 4 bytes e isto deve ser considerado e isso vale para todos os compiladores não somente CCS.
Lembre-se, zona de Fresnel não é nenhuma franquia de puteiro.
Avatar do usuário
otavio luiz
Byte
 
Mensagens: 257
Registrado em: 11 Out 2006 13:56
Localização: Barretos - SP, terra de Peão

Mensagempor Mersin » 18 Fev 2009 08:10

É Otavio,

Eu já tava desconfiado que era por causa de todas as variáveis do compilador, o jeito é migrar para o 18F452 e aprender mesmo a trabalhar com o C18 da microchip.

Valeu pelas dicas!

Inté!
Mersin
Mersin
Byte
 
Mensagens: 121
Registrado em: 22 Out 2006 13:07
Localização: Goiânia

Assembler...

Mensagempor Vonnilmam » 19 Fev 2009 15:33

É por esse motivo entre outros tantos, que prefiro utilzar ainda o assembler, nele você tem controle da máquina incondicionalmente...

A conclusão que cheguei é que linguagem C é ideal para aplicação em MCUS fartos de memoria ram e de programa e quanto mais velozes melhor, ou seja para caras parrudos,

Em se tratando de MCUS simples de 8 bits, na minha opinião não vale a pena utilizar C, dependendo da aplicação é claro...

Sou suspeito para falar, devido a minha lealdade ao assembler, porém nada contra aos "CENIANOS"...

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

Mensagempor ffcprog » 19 Fev 2009 16:07

É por este motivo que eu.
ASM,,,,BASIC,,,,,PASCAL,,,,,C

E acima de tudo, seja qual for o compilador e linguagem..

Qualquer programador com minimo de experiência em UC, sabe muito bem quantos bytes determinada variavel consome.
byte char short = 1 byte
Word int = 2 bytes
longint, integer, real, dword, double, float, long, e afins = 4 bytes.

Não é tanto pela linguagem meu amigo, e sim pela base de conhecimento que a pessoa adquiriu com o curso ou com as pesquisas.

Ou seja nenhum nem o outro estão errados, seja asm, ou qualquer outra linguagem, depende muito do conhecimento que o programador adquiriu.

Abraços,

ffcprog
ffcprog
Byte
 
Mensagens: 145
Registrado em: 14 Fev 2007 23:16


Voltar para PIC

Quem está online

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

cron

x