Biblioteca Keil

Software e Hardware para linha ARM

Moderadores: 51, guest2003, Renie, gpenga

Biblioteca Keil

Mensagempor Maffeis » 11 Jul 2011 20:22

Boa Noite
Estou tentando separar meu programa em varios arquivos
não sei se eu não estou sabendo procurar, mas não estou achando.

Como eu faria para separar essa função eu segundo aquivo teria que criar um .c + um .h?

Código: Selecionar todos
void gdram_update (void)
{
  unsigned char v=0, h=0;
  int vet=0;
 
   
    for (v=0; v<=31; v++)
    {
      for (h=0; h<=15; h++)
      {
        gdram[v][h] =tela [vet];
        vet++;
      }
    }
   for (v=0; v<=31; v++)
    {
      for (h=16; h<=31; h++)
      {
        gdram[v][h] =tela [vet];
        vet++;
      }
    }
}


Valeu
Maffeis
Word
 
Mensagens: 501
Registrado em: 07 Ago 2010 19:10

Mensagempor Maffeis » 12 Jul 2011 19:07

fiz um arquivo .h ficou desse jeito

Código: Selecionar todos
extern unsigned char gdram [32][32];

void wait (int tempo);

void glcd_writeByte (unsigned char address, unsigned char DADO);

void glcd_init (void);

void glcd_update (void);


se eu não faço o include dele o programa não funciona

não sei se esse é o jeito certo, se tem coisa sobrando ou faltando

valeu
Maffeis
Word
 
Mensagens: 501
Registrado em: 07 Ago 2010 19:10

Mensagempor RobL » 13 Jul 2011 15:11

Cabe introduzir diretivas para evitar chamadas recursivas.
Por exemplo:
Código: Selecionar todos

#ifndef __NomeDoArquivo_H
#define __NomeDoArquivo_H

//aqui os prototipos das funcoes
//diretivas diversas

//#define  bla bla bla (depende de sua organizacao )
// bla bla bla


#endif /* __NomeDoArquivo_H


Sim, tem que incluir este NomeDoArquivo.h no source .c .

Só que isso poderia estar na sala de linguagens de programação, não necessariamente em ARM.
RobL
Dword
 
Mensagens: 1546
Registrado em: 20 Fev 2007 17:56


Voltar para ARM

Quem está online

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

x