logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Komunikat podczas kompilacji - Warning VMLAB, WINAVR

krzys_7 07 Lip 2008 13:03 2777 6
REKLAMA
  • #1 5319598
    krzys_7
    Poziom 11  
    Witam. Podczas kompilacji wyskakuje mi taki warning " 'main' is normally a non-static function" mógłby mi ktoś pomóc i powiedzieć co jest nie tak.
  • REKLAMA
  • REKLAMA
  • #3 5319634
    krzys_7
    Poziom 11  
    dodałem static i nic nie pomaga

    a to kod programu:

    // ***********************************************************
    // Project:
    // Author:
    // Module description:
    // ***********************************************************
    
    #include <avr\io.h>              // Most basic include files
    #include <avr\interrupt.h>       // Add the necessary ones
    #include <avr\signal.h>          // here
    #include <util/delay.h>                // żeby działało _delay_ms();
    #include <stdlib.h>
    #define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit))
    #define sbi(sfr, bit) (_SFR_BYTE(sfr) |= ~_BV(bit))
    
    
    static void delay_2s(void)           // czekaj sekunde
    {
    	int t;
    	for(t=0;t<100;t++)          // 10ms razy 100  to 1000ms czli sekunda :-)
    	{
    	_delay_ms(10);      // czekaj 10 mili sekund
       }
    }
    
    ////////////////////////////////////////////////////////////////////////////
    void dwa(void)
    {
    	while (1)
    	{
    	cbi(PORTB,1);
    	delay_2s();
    	sbi(PORTB,1);
    	delay_2s();
    	}
    }
    	
    void jeden(void)
    	{
    	    while (1)
        {
        PORTB=0xfe;
        delay_2s();
        PORTB=0xff;
        delay_2s();
    
          if (bit_is_clear(PIND,PD4))
            {
             dwa();
            }
    
        }
    
    static int main(void)
    {
    
    	 DDRB=0xFF;
        DDRD=0x00;
        PORTB=0xff;
        PORTD=0xff;
    
     while(1)
        {
            if (bit_is_clear(PIND,PD4))
             {
              jeden();
              }
         }
    }


    Proszę umieszczać listingi programów w znacznikach "Code". [c_p]
  • REKLAMA
  • #5 5319979
    krzys_7
    Poziom 11  
    No a nawetjeśli jest int main(void) to też mi wyskakuje ten warning i kompilacja nie przechodzi
  • REKLAMA
  • #6 5320161
    szelus
    Poziom 34  
    Brakuje mi jakiejś zamykającej klamerki w funkcji jeden. Kod wklejaj używając tag-a "code".
  • #7 5320233
    krzys_7
    Poziom 11  
    no właśnie brakowało klamerki. Dzięki szelus
REKLAMA