اطلاعیه

Collapse
No announcement yet.

فوری*ارور کد ویژن در برنامه ساعت دیجیتال با ds1307 *فوری

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    فوری*ارور کد ویژن در برنامه ساعت دیجیتال با ds1307 *فوری

    سلام یه برنامه دارم که وقتی میخوام کامپایلش کنم ارور too few arguments in function call میده
    خداییش فوریه دارم پروژه میبندم اینجا گیر کردم
    کد:
    [FONT=Yekan]#include <mega32.h>[/FONT]
    
    // I2C Bus functions
    #asm
       .equ __i2c_port=0x15 ;PORTC
       .equ __sda_bit=0
       .equ __scl_bit=1
    #endasm
    #include <i2c.h>
    
    
    
    
    // DS1307 Real Time Clock functions
    #include <ds1307.h>
    
    
    // Alphanumeric LCD Module functions
    #asm
       .equ __lcd_port=0x1b ;PORTB
    #endasm
    #include <lcd.h>
    #include <stdio.h>
    #include <delay.h>
    
    
    // Declare your global variables here
    unsigned char h,m,s,d,month,y;
    char lcdbuff[33];
    
    
    void main(void)
    {
    // Declare your local variables here
    
    
    // Input/Output Ports initialization
    // Port A initialization
    // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
    // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
    PORTA=0x00;
    DDRA=0x00;
    
    
    // Port B initialization
    // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
    // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
    PORTB=0x00;
    DDRB=0x00;
    
    
    // Port C initialization
    // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
    // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
    PORTC=0x00;
    DDRC=0x00;
    
    
    // Port D initialization
    // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
    // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
    PORTD=0x00;
    DDRD=0x00;
    
    
    // Timer/Counter 0 initialization
    // Clock source: System Clock
    // Clock value: Timer 0 Stopped
    // Mode: Normal top=FFh
    // OC0 output: Disconnected
    TCCR0=0x00;
    TCNT0=0x00;
    OCR0=0x00;
    
    
    // Timer/Counter 1 initialization
    // Clock source: System Clock
    // Clock value: Timer 1 Stopped
    // Mode: Normal top=FFFFh
    // OC1A output: Discon.
    // OC1B output: Discon.
    // Noise Canceler: Off
    // Input Capture on Falling Edge
    // Timer 1 Overflow Interrupt: Off
    // Input Capture Interrupt: Off
    // Compare A Match Interrupt: Off
    // Compare B Match Interrupt: Off
    TCCR1A=0x00;
    TCCR1B=0x00;
    TCNT1H=0x00;
    TCNT1L=0x00;
    ICR1H=0x00;
    ICR1L=0x00;
    OCR1AH=0x00;
    OCR1AL=0x00;
    OCR1BH=0x00;
    OCR1BL=0x00;
    
    
    // Timer/Counter 2 initialization
    // Clock source: System Clock
    // Clock value: Timer 2 Stopped
    // Mode: Normal top=FFh
    // OC2 output: Disconnected
    ASSR=0x00;
    TCCR2=0x00;
    TCNT2=0x00;
    OCR2=0x00;
    
    
    // External Interrupt(s) initialization
    // INT0: Off
    // INT1: Off
    // INT2: Off
    MCUCR=0x00;
    MCUCSR=0x00;
    
    
    // Timer(s)/Counter(s) Interrupt(s) initialization
    TIMSK=0x00;
    
    
    // Analog Comparator initialization
    // Analog Comparator: Off
    // Analog Comparator Input Capture by Timer/Counter 1: Off
    ACSR=0x80;
    SFIOR=0x00;
    
    
    // I2C Bus initialization
    i2c_init();
    
    
    // DS1307 Real Time Clock initialization
    // Square wave output on pin SQW/OUT: Off
    // SQW/OUT pin state: 0
    rtc_init(0,1,0);
    rtc_set_time(15,50,0);
    rtc_set_date(29,7,95);
    
    
    // LCD module initialization
    lcd_init(16);
    
    
    while (1)
          {
          // Place your code here 
          rtc_get_time(&h,&m,&s);
          rtc_get_date(&d,&month,&y); 
          sprintf(lcdbuff,"%02u:%02u:%02u        %02u/%02u/%02u",h,m,s,y,month,d);
          lcd_gotoxy(0,0);
          lcd_puts(lcdbuff);
          };
    }
    دوستان کمک کنید خیلی فوریه ممنون
    جدیدترین ویرایش توسط اشکان غفارزاده; ۱۹:۴۳ ۱۳۹۵/۰۷/۲۹.
    dont lose hope

    #2
    پاسخ : فوری*ارور کد ویژن در برنامه ساعت دیجیتال با ds1307 *فوری

    سلام
    من کدویژن کار نکردم ولی احتمالا شما متغیرهایی که باید به تابع فرستاده بشه رو کامل وارد نکردید
    مثلا باید چهار تا متغیر به تابع بفرستید که شما سه تا فرستادید

    دیدگاه


      #3
      پاسخ : فوری*ارور کد ویژن در برنامه ساعت دیجیتال با ds1307 *فوری

      داره میگه تعداد آرگومان هایی که برای تابع فرستادی از تعدادی که باید بفرستی کمتره
      دقیقا بگید از کدوم خط برنامه داره ایراد میگیره
      برای این کار روی متن خطا کلیک کنید اون وقت مشخص میشه که کدوم خط از برنامه مشکل داره
      آرزوی سرافرازی برای ایران عزیز . . .


      دیدگاه


        #4
        پاسخ : فوری*ارور کد ویژن در برنامه ساعت دیجیتال با ds1307 *فوری

        نوشته اصلی توسط rezamajdi نمایش پست ها
        داره میگه تعداد آرگومان هایی که برای تابع فرستادی از تعدادی که باید بفرستی کمتره
        دقیقا بگید از کدوم خط برنامه داره ایراد میگیره
        برای این کار روی متن خطا کلیک کنید اون وقت مشخص میشه که کدوم خط از برنامه مشکل داره
        درود

        این 3 تا مشکل دارن
        کد:
        [COLOR=#333333][FONT=monospace]      rtc_get_date(&d,&month,&y); 
        [/FONT][/COLOR][COLOR=#333333][FONT=monospace]      sprintf(lcdbuff,"%02u:%02u:%02u        %02u/%02u/%02u",h,m,s,y,month,d);
        [/FONT][/COLOR]​[COLOR=#333333][FONT=monospace]rtc_set_date(29,7,95);[/FONT][/COLOR][FONT=Yekan][/FONT]
        dont lose hope

        دیدگاه


          #5
          پاسخ : فوری*ارور کد ویژن در برنامه ساعت دیجیتال با ds1307 *فوری

          سلام
          دوست عزیز تو ورژن های جدید کدویژن تابع rtc_get_date و rtc_get_time چهار آرگومان دارند. به ترتیب روز هفته، روز، ماه، سال می باشد. روز هفته منظور شنبه یکشنبه و .. است که اگه اشتباه نکنم عددی بین صفر تا 6 بود.
          void rtc_get_date(unsigned char *week_day, unsigned char *day, unsigned char *month, unsigned char *year)
          this function returns the current date measured by the RTC.
          The *week_day, *day, *month and *year pointers must point to the variables that must receive the values of day of week, day, month and year.

          void rtc_set_date(unsigned char week_day, unsigned char day, unsigned char month, unsigned char year)
          this function sets the current date of the RTC.

          مثال:

          rtc_set_date(2,1,2,11); // set date Tuesday 1/02/2011


          بانک اطلاعاتی مسابقات رباتیک ایران
          http://robocenter.ir/Match/DefaultMatch.aspx
          آموزش جامع ساخت ربات به زبان فارسی در 110 صفحه
          http://www.4shared.com/document/u_72uaga/Robotic_Mechatronic.html

          دیدگاه

          لطفا صبر کنید...
          X