اطلاعیه

Collapse
No announcement yet.

تبدیل فایل c به فایل hex

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

    تبدیل فایل c به فایل hex

    خواهشا کمک!!
    چطور میتونم فایل c رو به فایل hex تبدیل کنم؟

    #2
    پاسخ : تبدیل فایل c به فایل hex

    وارد کدویژن که شدی فایلت رو باز کن
    بعد اینکه فایلت لود شد Ctrl+F9 یا SHIFT+F9 رو بزن
    حالا اگه از نسخه 2.4 به بالا استفاده میکنی برو اونجایی که فایل سی برنامتو ذخیره کردی دنبال پوشه EXE که فایل HEX و ROM داخل اونه
    ولی اگه از نسخه پایین استفاده میکنی کنار همون فایل سی برنامت، HEX و ROM قرار میگیرن

    اگه ابهامی داره بگو
    ای تو بهانه واسه موندن ....

    دیدگاه


      #3
      تبدیل فایل c به فایل hex با CodeVisionAVR V2.05.3

      سلام دوستان من هر کاری می کنم کد هگز تولید نمیشه
      با CodeVisionAVR V2.05.3 :angry: :angry: :angry: :angry: :angry:

      دیدگاه


        #4
        پاسخ : تبدیل فایل c به فایل hex با CodeVisionAVR V2.05.3

        نوشته اصلی توسط ddjsos
        سلام دوستان من هر کاری می کنم کد هگز تولید نمیشه
        با CodeVisionAVR V2.05.3 :angry: :angry: :angry: :angry: :angry:
        سلام. اگه برنامه خطا داشته باشه فایل HEX تولید نمیشه.
        http://www.eca.ir/forum2/index.php?topic=108455.msg777842#msg777842

        دیدگاه


          #5
          پاسخ : تبدیل فایل c به فایل hex با CodeVisionAVR V2.05.3

          نوشته اصلی توسط سامان تقی پور
          سلام. اگه برنامه خطا داشته باشه فایل HEX تولید نمیشه.

          خطا نداره فقط پیغام
          Warning: ss.c(39): possibly incorrect assignment
          مشکل کدویژنه سیستم های دیگه هگز میده

          دیدگاه


            #6
            پاسخ : تبدیل فایل c به فایل hex با CodeVisionAVR V2.05.3

            نوشته اصلی توسط ddjsos

            خطا نداره فقط پیغام
            Warning: ss.c(39): possibly incorrect assignment
            مشکل کدویژنه سیستم های دیگه هگز میده
            روش کلیک کنید مکان warning رو میگه. فکر کنم 2 بار باید کلیک کنید. اصلاح کنید شاید درست شد
            در اصل با داشتن warning هم باید فایل Hex تولید بشه.
            http://www.eca.ir/forum2/index.php?topic=108455.msg777842#msg777842

            دیدگاه


              #7
              پاسخ : تبدیل فایل c به فایل hex با CodeVisionAVR V2.05.3

              نوشته اصلی توسط سامان تقی پور
              روش کلیک کنید مکان warning رو میگه. فکر کنم 2 بار باید کلیک کنید. اصلاح کنید شاید درست شد
              در اصل با داشتن warning هم باید فایل Hex تولید بشه.
              خطای Linker error: the program has no 'main' function حالا میده
              چندتا برنامه از پیش نوشته شده هم اجرا کردم بازم خطای بالا رو میده

              دیدگاه


                #8
                پاسخ : تبدیل فایل c به فایل hex با CodeVisionAVR V2.05.3

                نوشته اصلی توسط ddjsos


                خطای Linker error: the program has no 'main' function حالا میده
                چندتا برنامه از پیش نوشته شده هم اجرا کردم بازم خطای بالا رو میده
                میگه تابع main نداره دیگه.
                [code=c]
                void main()
                {
                Codes
                }
                [/code]
                http://www.eca.ir/forum2/index.php?topic=108455.msg777842#msg777842

                دیدگاه


                  #9
                  پاسخ : تبدیل فایل c به فایل hex با CodeVisionAVR V2.05.3

                  نوشته اصلی توسط سامان تقی پور
                  میگه تابع main نداره دیگه.
                  [code=c]
                  void main()
                  {
                  Codes
                  }
                  [/code]
                  برنامه اینه ببینیت مشکل داره
                  کد:
                  #include <mega16.h>
                  #include <stdio.h>
                  #include <delay.h>
                  #asm
                    .equ_lcd_port=0x1B
                  #endasm
                  #include <lcd.h>
                  unsigned char scan_key(void) ;
                  unsigned char code[4][4]={{0,4,8,12},{1,5,9,13},{2,6,10,14},{3,7,11,15}};
                  char buffer_lcd[10];
                  void main(void)
                  {
                    unsigned char key;
                    PORTC=0x00 ;
                    DDRC=0xF0  ;
                    lcd_init(16) ;
                    lcd_clear()  ;
                    while (1) {
                      key=scan_key();
                      if (key!=0xff) {
                        lcd_clear();
                        lcd_gotoxy(0,0);
                        sprintf(buffer_lcd,"key=%d",key);
                        lcd_puts(buffer_lcd);
                      };
                  
                    };
                  };
                  //---------------------------------------------------------
                    unsigned char scan_key(void)
                    {
                      unsigned char i,data,num_key,temp;
                      num_key=0xff;
                      temp=0x70; 
                      for (i=0;i<4;i++) {
                        PORTC=temp;
                        delay_ms(5);
                        data=PINC % 0x0f;
                        if (data=0x07) {
                          num_key=code[0][i];
                        };
                        if (data=0x0B) {
                          num_key=code[1][i];
                        };
                        if (data=0x0D) {
                          num_key=code[2][i];
                        };
                        if (data=0x0E) {
                          num_key=code[3][i];
                        }; 
                      };
                     return num_key;
                  
                    };

                  دیدگاه


                    #10
                    پاسخ : تبدیل فایل c به فایل hex با CodeVisionAVR V2.05.3

                    1- کد اسمبلی اونجوری که نوشته بودین اشتباه بود. بعد از equ. باید یه فاصله بذارین و بعدش 2 تا آندرلاین
                    2- بعد از { نباید ; بذارین
                    3- توی دستور if نباید از = استفاده کنین. باید از == استفاده کنین.
                    کلا توی if و while و .... نباید = بذارین.

                    کد درست:
                    [code=c]
                    #include <mega16.h>
                    #include <stdio.h>
                    #include <delay.h>
                    #asm
                    .equ __lcd_port=0x1B
                    #endasm
                    #include <lcd.h>
                    unsigned char scan_key(void) ;
                    unsigned char code[4][4]={{0,4,8,12},{1,5,9,13},{2,6,10,14},{3,7,11,15}};
                    char buffer_lcd[10];
                    void main(void)
                    {
                    unsigned char key;
                    PORTC=0x00 ;
                    DDRC=0xF0 ;
                    lcd_init(16) ;
                    lcd_clear() ;
                    while (1) {
                    key=scan_key();
                    if (key!=0xff) {
                    lcd_clear();
                    lcd_gotoxy(0,0);
                    sprintf(buffer_lcd,"key=%d",key);
                    lcd_puts(buffer_lcd);
                    }

                    }
                    }
                    //---------------------------------------------------------
                    unsigned char scan_key(void)
                    {
                    unsigned char i,data,num_key,temp;
                    num_key=0xff;
                    temp=0x70;
                    for (i=0;i<4;i++) {
                    PORTC=temp;
                    delay_ms(5);
                    data=PINC % 0x0f;
                    if (data==0x07) {
                    num_key=code[0][i];
                    }
                    if (data==0x0B) {
                    num_key=code[1][i];
                    }
                    if (data==0x0D) {
                    num_key=code[2][i];
                    }
                    if (data==0x0E) {
                    num_key=code[3][i];
                    }
                    }
                    return num_key;

                    }
                    [/code]
                    http://www.eca.ir/forum2/index.php?topic=108455.msg777842#msg777842

                    دیدگاه


                      #11
                      پاسخ : تبدیل فایل c به فایل hex

                      سلام دوستان روزتون بخیر
                      ما یک پروژه دماسنج داشتیم کدش اینه :

                      #include <stdio.h>
                      #include <delay.h>
                      #include <mega16.h>
                      #include <lcd.h>
                      #define xtal 8000000
                      #define ADC_VREF_TYPE 0xC0
                      //
                      //LCD Port
                      //
                      #asm
                      .equ __lcd_port=0x18 ;PORTC
                      #endasm
                      //
                      //Variables
                      //
                      int adc_data;
                      char buffer[16];
                      float t;
                      //
                      //Functions
                      //
                      void loop(void);
                      unsigned int read_adc(unsigned char adc_input);
                      //

                      //Main
                      //
                      void main(void)
                      {
                      //PortA -> Input
                      PORTA = 0x00;
                      DDRA = 0x00;
                      PORTb = 0xff;

                      //Set ADSC_VREF -> Internal 2.56V
                      ADMUX = ADC_VREF_TYPE;
                      //ADC Enable & Prescaler -> 64
                      ADCSRA = 0x86;
                      //Initial LCD
                      lcd_init(16);
                      lcd_clear();
                      lcd_puts("Start");
                      delay_ms(1000);
                      lcd_clear();
                      //Loop
                      loop();
                      }
                      //
                      //Loop Function
                      //

                      void loop(void)
                      {
                      while (1)
                      {
                      //Read LM35_a
                      adc_data = read_adc(0);
                      t = adc_data/4;
                      delay_ms(100);
                      //Show on LCD
                      sprintf(buffer," dama=%5.1f\xDFC", t); ///xDF->°
                      lcd_gotoxy(0,0);
                      lcd_puts(buffer);
                      }
                      }
                      //
                      //Read ADC
                      //
                      unsigned int read_adc(unsigned char adc_input)
                      {
                      ADMUX= adc_input | ADC_VREF_TYPE;
                      delay_us(10);
                      // Start the AD conversion
                      ADCSRA|=0x40;
                      // Wait for the AD conversion to complete
                      while ((ADCSRA & 0x10)==0);
                      ADCSRA|=0x10;
                      return ADCW;
                      }
                      کلی ارور میده و کد هگز رو نمیده میشه لطفا راهنمایی کنید؟خیلی عجله دارم ممنون میشم جواب بدین

                      دیدگاه

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