NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 3006 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 6 از 6

موضوع: اشکال در عملکرد توابع FlashFs در هنگام استفاده از RTX

  1. #1
    کاربر علاقه مند
    تاریخ عضویت
    Mar 2012
    نام
    محمد قمری خسرویه
    نوشته ها
    38
    تشکر
    1
    تشکر شده 13 بار در 11 پست

    Exclamation اشکال در عملکرد توابع FlashFs در هنگام استفاده از RTX

    سلام
    من با برد LPC1788 فروشگاه کار میکنم وقتی از RTX , emwin استفاده نمیکنم توابع FlashFs برای SDcard مشکلی ندارند(مد native) و راحت اجرا میشود اما وقتی توابع FlashFs رو بعد از اجرای RTX , emwin میارم برنامه در خط fclose میمونه. (برنامه emwin , rtx بدون استفاده از توابع FlashFs بدرستی اجرا میشود)
    لطفا راهنمایی کنید .
    با تشکر.

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نام
    Advertising world
    نوشته ها
    Many
     

  3. #2
    مدیر انجمن mzarkoob آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    مهدی زرکوب
    نوشته ها
    2,902
    تشکر
    1,202
    تشکر شده 2,317 بار در 1,273 پست

    پیش فرض

    شما یه سمپل درست کنید
    FlashFs تحت rtx . اگه کار کنه در emwin که با rtx هست هم باید کار کنه.
    بعضی سمپل های rl یه نمونه گذاشته با rtx

  4. #3
    کاربر علاقه مند
    تاریخ عضویت
    Mar 2012
    نام
    محمد قمری خسرویه
    نوشته ها
    38
    تشکر
    1
    تشکر شده 13 بار در 11 پست

    پیش فرض

    ممنون از پاسختون من این کار رو هم کردم اما نتیجه نداد. task مربوط به خواندن از SDcard رو میزارم اگه مشکلی هست راهنمایی کنید. (برنامه به اینصورته که وقتی فایل خوانده بشه که متغییر read=1 باشد )
    کد:
    __task void SDcard(void){
            static FILE *Fptr=NULL;
        
            while(1)
            {
                if(read==1)
                {
                    Fptr = fopen ("Text.txt","r"); 
                    if (Fptr != NULL)
                            {fread(str,sizeof(char),20,Fptr);}
                    fclose(Fptr);
                    TEXT_SetText(hItem1, str);
                    read=0;                
                }
                GUI_X_Delay(10);
            }
    }
    ویرایش توسط brasil : 01-02-2016 در ساعت 01:08

  5. #4
    کاربر علاقه مند
    تاریخ عضویت
    Mar 2012
    نام
    محمد قمری خسرویه
    نوشته ها
    38
    تشکر
    1
    تشکر شده 13 بار در 11 پست

    پیش فرض

    سلام
    جناب زرکوب مشکل برنامه بالا حل شد کار رو با دستورات دیگه ادامه میدم نتیجه کار رو میزارم . task مربوطه رو میزارم تا دوستانی که این مشکل رو دارند استفاده کنند.
    در ضمن کتابخانه rt_sys.h رو هم حتما به برنامه اضافه کنید.
    کد:
    __task void SDcard(void)
    {
        static FILE *Fptr=NULL;
        FILEHANDLE f=NULL;
        while(1)
        {
            if(read==1)
            {
                f = _sys_open ("Text.txt",OPEN_R); 
                if (f != -1)
                        {_sys_read(f,str,20,1); }
                _sys_close(f);
                TEXT_SetText(hItem1, str);
                read=0;                
            }
            GUI_X_Delay(10);
        }
        
    }
    اما نباید به این صورت باشه که نشه از دستوراتی مثله fread,fwrite , ... استفاده کرد راه حلش رو نمیدونم اگه دوستان کسی نتیجه گرفت راهنمایی کنن ممنون
    ویرایش توسط brasil : 01-02-2016 در ساعت 15:10

  6. تشکرها از این نوشته :


  7. #5
    کاربر علاقه مند
    تاریخ عضویت
    Mar 2012
    نام
    محمد قمری خسرویه
    نوشته ها
    38
    تشکر
    1
    تشکر شده 13 بار در 11 پست

    پیش فرض

    سلام متوجه مشکل شدم اینکه چطور حل شد رو میگم شاید به کار کسی بیاد.اگر برای راه اندازی SDcard در هر مدی (spi/native) از کتابخانه خود Keil وهمچنین از RTX استفاده میکنید حتما باید: 1-روال خواندن ، نوشتن و... از SDcard در یک task انجام بشه. 2-کتابخانه هایی مثل RTL,FILE_CONFIG حتما با ورژن کامپایلرتون همخونی داشته باشه بهتر بگم از همون نسخه ای استفاده کنید که در کاپایلر هست.به مقدار Stack_Size و Heap_Size دقت کنید صفر نباشن

    کد:
    Heap_Size       EQU     0x00000500
    کد:
    static char acBuffer[0x1000];int APP_GetData(void * p, const U8 ** ppData, unsigned NumBytes, U32 Off) 
    {
        FILE * phFile;
        unsigned int NumBytesRead;
        
        phFile = (FILE *)p;
        if (NumBytes > sizeof(acBuffer)) {
            NumBytes = sizeof(acBuffer);
        }
        NumBytesRead = fread(acBuffer,sizeof(char),NumBytes,phFile); 
        *ppData = (unsigned char *)acBuffer;
        return NumBytesRead;
    }
    
    
    int APP_GetData2(void * p, const U8 ** ppData, unsigned NumBytes, U32 Off) 
    {
        FILE * phFile;
        unsigned int NumBytesRead;
        U8 * pData;
        pData = (U8 *)*ppData;
        phFile = (FILE *)p;
        NumBytesRead = fread(pData,sizeof(char),NumBytes,phFile); 
        return NumBytesRead;
    }
    
    
    __task void SDcard(void)
    {
        FILE *Fptr=NULL;
        unsigned char rw[50];
    
    
        while(1)
        {
            if(read==2)
            {
                Fptr = fopen ("BackGround.bmp","r");    
                GUI_BMP_DrawEx(APP_GetData,Fptr,0,0);
                fclose(Fptr);
                read=0;                
            }
            else if(read==3)
            {
                
                Fptr = fopen ("SettingOn.png","r");    
                GUI_PNG_DrawEx(APP_GetData2,Fptr,0,0);
                fclose(Fptr);
                read=0;                    
            }
            GUI_X_Delay(1);
        }
        
    
    }
    ویرایش توسط brasil : 04-02-2016 در ساعت 11:16

  8. کاربران : 3 تشکر کرده اند از شما brasil برای ارسال این پست سودمند:


  9. #6
    کاربر علاقه مند
    تاریخ عضویت
    Mar 2012
    نام
    محمد قمری خسرویه
    نوشته ها
    38
    تشکر
    1
    تشکر شده 13 بار در 11 پست

    پیش فرض

    الان راحت میتونیم هر عکسی با هر فرمتی رو نمایش بدیم. اما یه مشکل هست اونم سرعت پایین نمایش عکسه که تو سایز 7 اینچ خیلی بیشتر خودشو نشون میده.
    دوستان بنظرتون چطور میشه سرعت رفرش شدن lcd رو زیاد کرد ؟

    لینک برنامه تست شده (ورژن Keil 4.74)
    LPC1788-sd
    ویرایش توسط brasil : 09-02-2016 در ساعت 13:13

موضوعات مشابه

  1. استفاده از سوکت ها و کانکتورها
    توسط mehrdad22 در انجمن موتورها و درایوها
    پاسخ: 12
    آخرين نوشته: 27-09-2020, 14:26
  2. !!!!! رگولاتور ولتاژ ژنراتور با استفاده از فیدبک !!!!!
    توسط REZA_KLNTR در انجمن کنترل هوشمند و plc
    پاسخ: 19
    آخرين نوشته: 29-05-2016, 17:18
  3. [درخواست] معرفی فرستنده گیرنده با توان متغییر
    توسط Ma3ood در انجمن مخابرات
    پاسخ: 11
    آخرين نوشته: 30-03-2015, 13:35
  4. فرستنده- گیرنده با مدولاتور ask
    توسط hossein1387 در انجمن ماژول ها و دستگاه های مخابراتی
    پاسخ: 0
    آخرين نوشته: 24-09-2013, 09:06
  5. پاسخ: 2
    آخرين نوشته: 01-03-2013, 20:28

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •