اطلاعیه

Collapse
No announcement yet.

کتابخانه ff.h

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

    پاسخ : کتابخانه ff.h

    سلام به همه دوستان من یه فایل هدر دارم مثلا به اسم picture.h که نتیجه تبدیل فایل عکس bmp هستش فرمتشم مثل زیره
    کد:
    [left]
    const unsigned SHORT bmp[1152008] = {,
    0XE3B234,
    0XD27653,
    0XBF8FDA,
    0XE43426,
    0XD31286,
    0XC0ECDA,
    0XE434CD,
    0XD3DA34
    [/left]
    همونطور که میبینید من دیتاهام 24 بیتی یا همون 3 بایتی هستش یه کاما هم بین هر دوتا دیتا هست من میخوام هر کدوم از دیتاهارو استخراج کنم و تو یه متغیری قرار بدم بعدش بیام این رو به عنوان یه پیکسل رو ال سی دی نشونش بدم کسی میدونه چطور میتونم هر کدوم از دیتاهارو استخراج کنم اگه یه مثال هم براش بزنه که خیلی عالیه خیلی ممنون میشم اگه کسی راهنماییم کنه

    دیدگاه


      پاسخ : کتابخانه ff.h

      باسلام
      این نیز پیشنهاد بنده برای علاقمندان یادگیری
      پس از آشنایی با توابع به نظرم بهترین کار پیاده سازی عملی این طرح است
      مثلا برای نرم افزار کدویژن تنظیمات نرم افزاری برای ارتباط با کارت حافظه و میکرو مگا32
      سورس کامل برنامه نویسی با توضیحات کامل سطر به سطر برنامه برای بازکردن فایلی از روی کارت حافظه و چاپ یک رشته بر روی ال سی دی کاراکتری
      مراحل فرمت کارت حافظه و آماده سازی آن توسط کامپیوتر به صورت تصویری

      به نظرم پس از این آموزش جالب اگر مثال عملی نباشد بیش از نیمی از زحمات استاد اسدی بدون استفاده رها شده است!
      با تشکر :nerd: :applause: :wow:
      آنچه كه باعث موفقيت انسان ها مي شود سخت كوشي است و نه نخبه بودن! Porsche 911 Turbo S 181.000 $ USD
      جناب سعدی فرموده بودند: "بر احوال ان مرد باید گریست _ که دخلش بود نوزده، خرجش بیست!"
      که اگه الان بود باید میگفت: "بود حال و احوال آن مرد زار _ که دخلش ریال است ، خرجش دلار :|"
      http://www.eca.ir/forum2/index.php?topic=80472.msg489565#msg489565
      http://www.eca.ir/forum2/index.php?topic=82242.msg501926#msg501926

      دیدگاه


        پاسخ : کتابخانه ff.h

        نوشته اصلی توسط افتخارالکترونیک
        باسلام
        این نیز پیشنهاد بنده برای علاقمندان یادگیری
        پس از آشنایی با توابع به نظرم بهترین کار پیاده سازی عملی این طرح است
        مثلا برای نرم افزار کدویژن تنظیمات نرم افزاری برای ارتباط با کارت حافظه و میکرو مگا32
        سورس کامل برنامه نویسی با توضیحات کامل سطر به سطر برنامه برای بازکردن فایلی از روی کارت حافظه و چاپ یک رشته بر روی ال سی دی کاراکتری
        مراحل فرمت کارت حافظه و آماده سازی آن توسط کامپیوتر به صورت تصویری

        به نظرم پس از این آموزش جالب اگر مثال عملی نباشد بیش از نیمی از زحمات استاد اسدی بدون استفاده رها شده است!
        با تشکر :nerd: :applause: :wow:
        با سلام
        اگر منظورتون بنده هست که باید بگم
        قند عسل خوشگل پسر یه چند تا پست بالاتر رو یه نگاهی مینداختی بعد
        عاجزانه خواهش می کنم اینجا رو یه مطالعه بفرمایید

        ولی اگر دوستان دیگه رو منظورتون باشه باید بگم تا کسی واقعا به این لایبری نیاز نداشته باشه فکر نکنم حتی به فکرش هم خطور کنه که صرفا جهت اطلاع یاد بگیره چون واقعا اطلاعات زیاد و تخصصی میخواد و خیلی سنگینه

        با سلام مجدد

        دوستان یه برنامه ساده به عنوان رفرنس نوشتم که میخوام اینجا قرار بدم

        ابن برنامه که فایل هگز و سورس برنامه و شماتیکش همه در این فایل فشرده هست یک فایل TXT به نام test.txt در داخل مموری ایجاد میکنه و داخل این فایل جمله Hello World رو مینویسه .
        در ضمن در این برنامه از لایبرری خود کدویژن استفاده نشده و فایل های مورد نیاز پروژه همه درکنار برنامه موجود هست!!!!!

        امیدوارم مفید باشه

        به همین سادگی :nice:
        برای رسیدن به موارد اشاره شده هم فکر نمیکنم کار چندان سختی باشه

        با کمی تغییر در برنامه رفرنس اراعه شده میتونید به خواسته هاتون برسید

        به همین سادگی :nice:
        تجربه معلم خشنی هست اول امتحان میگیره بعد درس میده !!!
        به دلیل برخی مشکلات بوجود اماده دیگه امکان ادامه فعالت در این انجمن مقدور نیست.

        دیدگاه


          پاسخ : کتابخانه ff.h

          سلام مهندس ممنون پاسختون ولی فکر برای این کار لازمه از تابع f_lseek() استفاده کنم و هر 3 تا بایتو بخونم ولی اینکارو چطور باید انجام بدم چطور تو یه حلفه اینکارو بکنم

          دیدگاه


            پاسخ : کتابخانه ff.h

            نوشته اصلی توسط Behnam Omran
            سلام.
            من میخوام از prtit fat روی mega8 استفاده کنم.
            چجوری سخت افزار رو به pff.h بشناسونم.... (چجوری spi رو توش کانفیگ کنم)
            .....
            راستی در مورد اون استراکچر ها (FATFS FS) که بعضی جاها استفاده میشن (مثل pf_mount ) هیچی نفهمیدم.....توضیحات آقای اسدی رو در پست های ابتدای تاپیک خوندم ولی چیزی دستگیرم نشد.....کسی هست اونا رو واسه من خیلی ساده توضیح بده.....واقعا ممنون میشم..
            با تشکر :bye
            آقا خواهش میکنم یکی این وسط جواب سوالای مار و هم بده..
            ممنون میشم.. :redface:

            دیدگاه


              پاسخ : کتابخانه ff.h

              سلام
              من برنامه رو با 1280 تو تغییر دادم اما در عمل کار نمیکنه دو پایه WP , CD رو هم که مشخص کرده بورم در عمل به جایی وصل نکردم اما پول اپ کردم در برنامه برنامه F_MOUNT فقط اجرا میشه ؟اشکال از انتراپت است یا جایه دیگری؟ نمیشه یه جوری این خوروجی RES مانیتور کرد مستقیم؟

              کمک

              #include <mega1280.h>

              #include <ff.h>

              #include <stdio.h>

              #include <delay.h>

              //.......................
              #define LANDSCAPE
              #define LCD_RST_DDR DDRA
              #define LCD_RST_PORT PORTA
              #define LCD_RST_PIN 4
              #define LCD_RS_DDR DDRA
              #define LCD_RS_PORT PORTA
              #define LCD_RS_PIN 2
              #define LCD_CS_DDR DDRA
              #define LCD_CS_PORT PORTA
              #define LCD_CS_PIN 3
              #define LCD_RD_DDR DDRA
              #define LCD_RD_PORT PORTA
              #define LCD_RD_PIN 0
              #define LCD_WR_DDR DDRA
              #define LCD_WR_PORT PORTA
              #define LCD_WR_PIN 1
              #define LCD_DATAPORT_MSB_DDR DDRK
              #define LCD_DATAPORT_MSB_PORT PORTK
              #define LCD_DATAPORT_MSB_PIN PINK
              #define LCD_DATAPORT_LSB_DDR DDRF
              #define LCD_DATAPORT_LSB_PORT PORTF
              #define LCD_DATAPORT_LSB_PIN PINF

              #define LCD_CONTROLPORT_DDR DDRA
              #define LCD_CONTROLPORT_PORT PORTA
              #define LCD_CONTROLPORT_PIN PINA


              //#include <delay.h>
              #include <tftlcd_functions.h>


              //...............................


              #define T1_OVF_FREQ 100
              #define T1_PRESC 1024L
              #define T1_INIT (0x10000L-(_MCU_CLOCK_FREQUENCY_/(T1_PRESC*T1_OVF_FREQ)))

              unsigned char buffer[15]="ECA the BEST..";
              unsigned char buffer2[10];
              unsigned char buffer3[5];



              FRESULT res;
              unsigned int nbytes;
              FATFS fat;
              FIL file;
              char path[]="0:/ECA.txt";




              interrupt [TIM1_OVF] void timer_comp_isr(void)
              {
              /* re-initialize Timer1 */
              TCNT1H=T1_INIT>>8;
              TCNT1L=T1_INIT&0xFF;
              /* card access low level timing function */
              disk_timerproc();
              }




              void main(void)
              { PORTB=0XC0;



              TCCR1A=0x00;
              TCCR1B=(1<<CS12)|(1<<CS10);
              TCNT1H=T1_INIT>>8;
              TCNT1L=T1_INIT&0xFF;
              TIMSK1=1<<TOIE1;




              //............

              lcd_init();
              lcd_gotoxy(0,0);
              lcd_background_color(BLACK);


              lcd_clear_screen;
              //...........


              if ((res=f_mount(0,&fat))==FR_OK) {
              lcd_putsf("s",GREEN,0,BLUE);
              lcd_gotoxy(2,2); lcd_putsf("P",GREEN,0,BLUE);
              lcd_gotoxy(3,3); lcd_putsf("G",GREEN,0,BLUE);


              delay_ms(1000);
              lcd_clear_screen(); }
              if ((res=f_open(&file,path,FA_CREATE_ALWAYS))==FR _OK) {
              lcd_gotoxy(2,2); lcd_putsf("0",GREEN,0,BLUE);


              delay_ms(1000);
              lcd_clear_screen(); }
              if ((res=f_write(&file,buffer,15,&nbytes))==F R_OK){
              lcd_putsf("1",GREEN,0,BLUE);



              delay_ms(1000);
              lcd_clear_screen(); }
              if ((res=f_close(&file))==FR_OK) {
              lcd_putsf("2",GREEN,0,BLUE);


              delay_ms(1000);
              lcd_clear_screen(); }
              if ((res=f_open(&file,path,FA_READ))==FR_OK) {
              lcd_putsf("3",GREEN,0,BLUE);


              delay_ms(1000);
              lcd_clear_screen(); }
              if ((res=f_read(&file,buffer2,10,&nbytes))==F R_OK){
              lcd_putsf("4",GREEN,0,BLUE);


              delay_ms(1000); }
              lcd_clear_screen();
              if ((res=f_read(&file,buffer3,5,&nbytes))==FR _OK)
              { lcd_putsf("5",GREEN,0,BLUE);


              delay_ms(1000);
              lcd_clear_screen(); }
              if ((res=f_close(&file))==FR_OK) {
              lcd_putsf("6",GREEN,0,BLUE); }

              lcd_gotoxy(4,4); lcd_putsf("0",GREEN,0,BLUE);
              while(1);
              من آن اواره ي بشكسته بالم ز هجرانت بتا رو بر زبانم
              منم آن مرغ سگردان تنها پريشان گشته شد يكباره حالم
              يا مهدي

              دیدگاه


                پاسخ : کتابخانه ff.h

                یک سوال من الن هدر فتو بازخوانی میکنم دیگه نیازی نیست واسه SPI چیزی بنویسم یعنی الان که MMC برناماش با همین توابع فت کامله با باید ,SPI هم تنظیمات انجام بدم؟
                من آن اواره ي بشكسته بالم ز هجرانت بتا رو بر زبانم
                منم آن مرغ سگردان تنها پريشان گشته شد يكباره حالم
                يا مهدي

                دیدگاه


                  پاسخ : کتابخانه ff.h

                  با سلام،

                  ... دو پایه WP , CD رو هم که مشخص کرده بورم در عمل به جایی وصل نکردم اما پول اپ کردم ...
                  تا جایی که من یادمه، منطق فعال بودن این دو تا پایه صفره است، پس اگر پول پ کردیشون، باید به زمین متصل بشن تا مدار عملکرد عادی داشته باشه ( صحت این موضوع رو در فایل mmc.c چک کنید )

                  یک سوال من الن هدر فتو بازخوانی میکنم دیگه نیازی نیست واسه SPI چیزی بنویسم یعنی الان که MMC برناماش با همین توابع فت کامله با باید ,SPI هم تنظیمات انجام بدم؟
                  SPI در فایل mmc.c کانفیگ میشه و نیازی به فراخوانی توابع SPI نیست ( حداقل در فایل های من که اینجوریه! )

                  اینجا رو هم ببین :

                  http://www.eca.ir/forum2/index.php?topic=52195.msg274730#msg274730
                  مادامی که از شخصی یاد میشود، او و افکارش زنده اند ....

                  Sh_Nourbakhsh@Yahoo.com

                  http://s2.picofile.com/file/7170362468/_Wall_e_.jp

                  دیدگاه


                    پاسخ : کتابخانه ff.h

                    سلام همه دوستان و همچنین آقای مهندس اسدی :smile:
                    من از تابع ff.h کد ویژن استفاده کردم. برنامه ای نوشتم که یه فایلو باز کنه بخونه و ببنددش. ت.ی پروتئوس جواب میده ولی توی عمل فقط تا مرحله باز کردن فایل جلو میره. ینی فایلو باز میکنه ولی چیزی ازش نمیخونه. مشکل ازچی میتونه باشه این موقع شب؟ :biggrin: :cry2:
                    هر سری یه فکری داره! :read:
                    ///////////////////////////////////////////////////////////

                    دیدگاه


                      پاسخ : کتابخانه ff.h

                      سلام من این برنامه رو نوشتم
                      #include <mega32.h>
                      #include <ff.h>
                      #include <diskio.h>
                      #include <lcd.h>
                      #asm
                      .equ __lcd_port=0x18
                      #endasm
                      #include <lcd.h>
                      // Declare your global variables here

                      void main(void)
                      {
                      FATFS fs;

                      f_mount(0,&fs);


                      while (1)
                      {
                      // Place your code here

                      }
                      }

                      اما خطای
                      Linker error: C:\cvavreval\inc\ff.h(205): function 'f_mount' declared, but never defined
                      میده ؟ اشکالش چیه ؟
                      ff.h رو هم کپی کردم، اما باز خطا میده

                      دیدگاه


                        پاسخ : کتابخانه ff.h

                        باسلام.
                        فکر میکنم باید توی پروژتون فایل ff.c رو اد کنید
                        به این صورت که configure project رو باز کنید بدش از پنجره باز شده دکمه اد رو زده و فایل ff.c رو اد کنید
                        :smile:
                        هر سری یه فکری داره! :read:
                        ///////////////////////////////////////////////////////////

                        دیدگاه


                          پاسخ : کتابخانه ff.h

                          سلام خدمت تمامی اساتید. خواهش میکنم این سوالمو جواب بدین دیگه تراخدا. چندوقته هرچی سوال تو این انجمن میپرسم هیچ جوابی نمیگیرم. :cry2: :cry2: نمیدونم چرا :cry2: :cry2: :cry2: :cry: :cry:
                          آقا یه جوونمرد بیاد نحوه استفاده از تابع f_truncate(FIL* fp) رو بگه. سایز فایل وقتی با این تابع خونده میشه کجا میشه بش دسترسی داشت.؟
                          هر سری یه فکری داره! :read:
                          ///////////////////////////////////////////////////////////

                          دیدگاه


                            پاسخ : کتابخانه ff.h

                            من باز خطایی که گفتم دارم. کسی میتونه کمک کنه ff.c v. رو اد کردم باز خطا میده

                            دیدگاه


                              پاسخ : کتابخانه ff.h


                              سلام ... دوستان یه سوال...
                              من از تابع truncate و seek استفاده میکنم برای این که یه فایل رو در ادامه بنویسم ... دوستان قبلا این سوال رو پرسیدن ولی من که چیزی از پاسخ ها دستگیرم نشد ..
                              توی manual راجع به truncate گفته که باید از FIL یه آبجکت بسازیم بعد بهش اشاره کنیم ..
                              بعد توی تابع seek بیایم از FIL.fsize استفاده کنیم ... خب من با این یکی اصلا نتونستم حجم فایل رو به دست بیارم .. نمیدونم چرا جواب نداد .
                              اومدم از f_stat استفاده کردم...این یکی آدرس فایل رو میدینم بهش و دیتای فایل میره روی آبجکت filinfo ...تا اینجاش حله ..
                              ولی آیا
                              وقتی حجم فایل زیاد میشه در حد چندین مگا بایت ... آیا زمان خوندن فایل اینفو هم زیاد میشه؟ میدونین منظورم مثل کامپیوتره که وقتی حجم زیاد میشه طول میکشه که پروپرتیس بده ... اگه آره .. چقدر طول میکشه ماکزیمم؟؟

                              توی کد های نمونه که آقای اسدی قرار دادن چرا توی seek بعد از truncate کردن ، توی تابع seek به نقطه صفر اشاره شده؟؟؟ مگه نباید مقداری که ترانکت از حافظه تشخیص میده رو به سیک بدیم؟؟؟ چرا آیا؟؟؟
                              ضمنا .. از مهندس اسدی هم بینهایت تشکر رو دارم که این اطلاعات رو قرار دادن .

                              دیدگاه


                                پاسخ : کتابخانه ff.h

                                واقعا ممنونم ... :mrgreen: آقا چرا هیچوقت من تو این eca کسی بهم جواب نمیده؟

                                دیدگاه

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