Página 1 de 1

Biblioteca Keil

MensagemEnviado: 11 Jul 2011 20:22
por Maffeis
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

MensagemEnviado: 12 Jul 2011 19:07
por Maffeis
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

MensagemEnviado: 13 Jul 2011 15:11
por RobL
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.