Problema com array de constantes...

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Problema com array de constantes...

Mensagempor rod_ladeira » 13 Jan 2010 18:25

Estou com um problema na declaração de um array de string constante.

Se eu declaro da seguinte forma:

const unsigned char texto[][17] =
{"ANGOERA SE ",
" ",
" INICIO ",
" APAGANDO... ",
" GRAVANDO... ",
" VERIFICA FW ... ",
" GRAVA CONFIG...",
" ERRO ",
" OK ",
" **** FIM ***** " };

Funciona perfeitamente, o problema ocorre quando eu aumento o número de palavras tal como:

const unsigned char texto[][17] =
{"ANGOERA SE ",
" ",
" INICIO ",
" APAGANDO... ",
" GRAVANDO... ",
" VERIFICA FW ... ",
" GRAVA CONFIG...",
" ERRO ",
" OK ",
" **** FIM ***** " ,
" TESTE " };

O numero de colunas está correto ( mesmo não parecendo no texto acima) e o compilador que estou utilizando é o HI-TECH

Obrigado desde já...........
Projetos eletrônicos......
www.angoera.com.br
rod_ladeira
Bit
 
Mensagens: 33
Registrado em: 17 Dez 2007 14:37
Localização: São Paulo

Mensagempor guest2003 » 13 Jan 2010 18:57

Posta o erro... e qual o PIC ?

[]'s
http://www.sethi.com.br (Institucional)
http://www.sethi3d.com.br (Impressoras 3d)
http://www.sethi.com.br/blog (Blog Impressoras 3d)
Avatar do usuário
guest2003
Word
 
Mensagens: 746
Registrado em: 13 Out 2006 11:48
Localização: Campinas - SP

Mensagempor ze » 13 Jan 2010 20:35

não sei qual é o erro mas chutando caso seja de limitação "anormal" de memória flash coloque antes do array
#pragma psect text=qualquer_coisa //não exija comentário por favor

chute++:
const char* dsem[] = "Domingo","Segunda","Terca ","Quarta ","Quinta ","Sexta ","Sabado ";

gozado na forma do meu o ex. acima funcionou 1 dia há uns 3 anos. Ao invés de display("segunda") eu fazia display(dsem[1]). Agora só com a forma do seu ex.
ex.:
const unsigned char dsem[][7] = {"Domingo","Segunda","Terca ","Quarta ","Quinta ","Sexta ","Sabado "} e display(dsem[1]) ---> ok.

abç e eu hein... este compilador ta pirado que nem eu

e obrigado!
Avatar do usuário
ze
Dword
 
Mensagens: 1655
Registrado em: 05 Jun 2007 14:32

Mensagempor rod_ladeira » 24 Fev 2010 16:49

Eu utilizo essa constante para escrever texto no LCD.

Eu utilizava essa estrutura no CCS e sempre funcionou, mas troquei o compilador para o HI TECH e o problema que surgiu é que aparece um caractere estranho no LCD....
Projetos eletrônicos......
www.angoera.com.br
rod_ladeira
Bit
 
Mensagens: 33
Registrado em: 17 Dez 2007 14:37
Localização: São Paulo

Mensagempor helton » 24 Fev 2010 17:30

Verifica se assim dá certo:

Código: Selecionar todos

const  char  * const lcd_str_list[] = {
    ("ANGOERA SE "),
    (" "),
    (" INICIO "),
    (" APAGANDO... "),
    (" GRAVANDO... "),
   (" VERIFICA FW ... "),
   (" GRAVA CONFIG..."),
   (" ERRO "),
   (" OK "),
   (" **** FIM ***** ")
};

#define STR_ANGOERA_SE     (lcd_str_list[0])
#define STR_SPACE               (lcd_str_list[1])
#define STR_INICIO              (lcd_str_list[2])
#define STR_APAGANDO       (lcd_str_list[2])
#define STR_GRAVANDO       (lcd_str_list[3])
#define STR_VERIFICA_FW    (lcd_str_list[4])
#define STR_GRAVA_CONFIG (lcd_str_list[5])
#define STR_ERRO                 (lcd_str_list[6])
#define STR_OK                    (lcd_str_list[7])
#define STR_FIM                   (lcd_str_list[8])


...
lcd_puts(STR_FIM);
...



[/code]
Helton Marques
"Priorize as Prioridades"
helton
Byte
 
Mensagens: 146
Registrado em: 16 Out 2006 09:18
Localização: São José-SC


Voltar para PIC

Quem está online

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

x