Tamanho máximo matriz PIC16 e CCS (migrado)

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Tamanho máximo matriz PIC16 e CCS (migrado)

Mensagempor KrafT » 18 Out 2006 09:07

guest2003:

Pessoal,

Estou tentando utilizar uma matriz de 200 elementos do tipo char num pic 16c67 (ele tem 367 bytes de ram) usando o compilador CCS e ele diz que não tem memoria suficiente...

Tenho que fazer algo mais para poder definir bancos ou coisa parecida ??

[]'s

-----
"Nunca ande pelo caminho traçado, pois ele conduz somente até onde os outros já foram." -Alexander Graham Bell

//------------------------------------------------------------------

Fabio Pereira:

Olá Guest,

Não há como criar tal tipo de matriz em C num PIC como este.

Lembre-se de que por definição, uma matriz deve ser constituída de posições contíguas de memória. Isto significa que o tamanho máximo para uma matriz nestes PIC's é igual a 112 elementos (que é o maior tamanho contínuo de memória RAM disponível, incluindo-se aí os 16 bytes de memória espelhada dos últimos 16 endereços de cada banco).

Uma alternativa seria dividir a matriz em três matrizes diferentes, cada uma com 67 elementos.

Lembre-se de que no seu caso, não seria possível criar duas matrizes de 100 elementos, já que ambas utilizariam endereços comuns (os 16 bytes espelhados do topo de cada banco).

Até +

Fábio Pereira

Ps.: este é um dos grandes pontos fortes dos PICs da série 18: sua arquitetura de memória permite um acesso linear contínuo a todos os endereços da RAM, permitindo criar matrizes com o tamanho máximo de RAM disponível.
Avatar do usuário
KrafT
Dword
 
Mensagens: 2228
Registrado em: 11 Out 2006 14:15
Localização: Blumenau -SC

Voltar para PIC

Quem está online

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

x