Duvida num fragmento de código

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Duvida num fragmento de código

Mensagempor amboni » 11 Jul 2008 17:01

Boa tarde,
estava dando uma olhada num codigo que encontrei por ai de bobera, ai me surgiu uma duvida pra que funciona tal comando....
estou programando em CCS....
//------------------------------------------------
// funçao principal
void main(void){


init(); //inicializaçao dos ports e perifericos do PIC
set_time();

for(;;) <<<<<<< O QUE ÉH ISSO!?!?
{
delay_ms(1000);
read_time();
}
}
//---------------------------------------------------------
eu bem contente esperava por um "while(true)".... ou aquilo ali é a mesma coisa?!!?

outra duvida seria a seguinte

// prototipos das funçoes
void init(void);
void set_time(void);

pq foi colocado um (void) entre aspas?!

Estou iniciando agora em "C",
valeu,

Amboni
amboni
Nibble
 
Mensagens: 50
Registrado em: 23 Abr 2008 08:26
Localização: Içara - SC

Re: Duvida num fragmento de código

Mensagempor amboni » 11 Jul 2008 17:04

apareceu um smile no lugar do ponto e virgula...

for ( 2 ponto e virgula);
//------------------------------------------------
// funçao principal
void main(void){


init(); //inicializaçao dos ports e perifericos do PIC
set_time();

for( ;; ) <<<<<<< O QUE ÉH ISSO!?!?
{
delay_ms(1000);
read_time();
}
}
//---------------------------------------------------------
eu bem contente esperava por um "while(true)".... ou aquilo ali é a mesma coisa?!!?

outra duvida seria a seguinte

// prototipos das funçoes
void init(void);
void set_time(void);

pq foi colocado um (void) entre aspas?!

Estou iniciando agora em "C",
valeu,

Amboni[/quote]
amboni
Nibble
 
Mensagens: 50
Registrado em: 23 Abr 2008 08:26
Localização: Içara - SC

Mensagempor guest2003 » 11 Jul 2008 17:13

Ola Amboni,

Código: Selecionar todos
while(1) e for(;;)


são a mesma coisa, porém no caso do while(1) seu compilador pode gerar um warning avisando que você esta fazendo um loop infinito, para chamar sua atenção se isso não é um erro. Já no caso do for ele foi feito para isso mesmo desta forma... para gerar um loop infinito "por querer" e sem gerar warning...

Eu gosto de trabalhar com warning em niveis bem altos, ajudam muito esses avisos dos compiladores...

void = vazio em Ingles...

Eh apenas para ficar mais claro que a funcao nao recebe nenhum parametro...

[]'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 Maurício » 12 Jul 2008 05:46

Quando forem escrever códigos de exemplo, para exibição aqui no ASM51, usem o botão CODE, no alto da janela de edição. Digite o código e depois pressione CODE de novo para finalizar o processo. Isso evita aparecerem winks no lugar de codificação mesmo.

[]'s
"Não leve a vida tão à sério, afinal, nenhum de nós sairá vivo, dela!"
Avatar do usuário
Maurício
Word
 
Mensagens: 678
Registrado em: 14 Out 2006 17:23
Localização: São Paulo - SP

Mensagempor guest2003 » 12 Jul 2008 10:42

Ai o fragmento de codigo aparece destacado igual aconteceu com o que eu fiz...
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

Duvida num fragmento de codigo

Mensagempor amboni » 23 Jul 2008 10:39

Bom dia Rapaziada....

é o seguinte, estou usando uma biblioteca do CCS para controlar o LCD e a mesma esta usando o portb.... menos o RB3, mais entao eu preciso do RB0 por causa de uma interrupção externa.... ai fui indu... indo e cheguei no codigo da biblioteca do LCD... que esta usando o RB0 para acionar o enable... ai entao troquei ele pelo RB3... (para sobrar o RB0 e logico...)
mais entao... nao funfou e não estou entendendo o tal do Struct... pq quero que sobre o RB0...


Código: Selecionar todos
[b]struct lcd_pin_map {       // This structure is overlayed
           BOOLEAN unused;          // low order up.  ENABLE will  // RB0
           BOOLEAN rs;               // access to the LCD pins.        // RB1
           BOOLEAN rw;               // The bits are allocated from  // RB2
           BOOLEAN enable;           // on to an I/O port to gain   // RB3
           int     data : 4;         // be pin B0.
        } lcd;[/b]

#if defined use_portb_lcd
   //#locate lcd = getenv("sfr:PORTB")    // This puts the entire structure over the port
   #ifdef __pch__
    #locate lcd = 0xf81
   #else
    #locate lcd = 6
   #endif
   #define set_tris_lcd(x) set_tris_b(x)

#else
   //#locate lcd = getenv("sfr:PORTD")    // This puts the entire structure over the port
   #ifdef __pch__
    #locate lcd = 0xf83
   #else
    #locate lcd = 8
   #endif
   #define set_tris_lcd(x) set_tris_d(x)
#endif

#ifndef lcd_type
#define lcd_type 2           // 0=5x7, 1=5x10, 2=2 lines
#endif

#define lcd_line_two 0x40    // LCD RAM address for the second line


BYTE const LCD_INIT_STRING[4] = {0x20 | (lcd_type << 2), 0xc, 1, 6};
                             // These bytes need to be sent to the LCD
                             // to start it up.


                             // The following are used for setting
                             // the I/O port direction register.

[b]struct lcd_pin_map const LCD_WRITE = {0,0,0,0,0}; [/b]// For write mode all pins are out
struct lcd_pin_map const LCD_READ = {0,0,0,0,15}; // For read mode data pins are in




()´s

Amboni
amboni
Nibble
 
Mensagens: 50
Registrado em: 23 Abr 2008 08:26
Localização: Içara - SC


Voltar para PIC

Quem está online

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

cron

x