ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 11
  1. #1
    2017/04/01
    58
    2

    مشکل در SDIO (گیر کردن در دستور f_mount)

    با سلام خدمت دوستان.

    بنده از روی این آموزش:

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت



    سعی کردم که توی یه میکرو اس دی فایل بنویسم/بخونم که متاسفانه موفق نشدم... بار اولی هم هست که می*خوام این کارو انجام بدم. مشکل اینجاست که چه اس دی کارت وصل باشه چه نباشه وقتی به دستور f_mount می*رسه کلا گیر می*کنه...

    می*خواستم ببینم کسی این مشکل تا حالا واسش پیش اومده یا نه.

    اگه آموزش بهتری سراغ دارین که خودتون ازش استفاده کردید و جواب گرفتید ممنون می*شم معرفی کنید.
    خیلی ممنون.
    در ضمن میکرویی که استفاده می*کنم f207vct6 هستش.
  2. #2
    2017/06/13
    1,291
    710

    پاسخ : مشکل در SDIO (گیر کردن در دستور f_mount)

    نقل قول نوشته اصلی توسط ReMadza

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    با سلام خدمت دوستان.

    بنده از روی این آموزش:

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت



    سعی کردم که توی یه میکرو اس دی فایل بنویسم/بخونم که متاسفانه موفق نشدم... بار اولی هم هست که می*خوام این کارو انجام بدم. مشکل اینجاست که چه اس دی کارت وصل باشه چه نباشه وقتی به دستور f_mount می*رسه کلا گیر می*کنه...

    می*خواستم ببینم کسی این مشکل تا حالا واسش پیش اومده یا نه.

    اگه آموزش بهتری سراغ دارین که خودتون ازش استفاده کردید و جواب گرفتید ممنون می*شم معرفی کنید.
    خیلی ممنون.
    در ضمن میکرویی که استفاده می*کنم f207vct6 هستش.
    سلام
    گیر میکنه؟ مطمئنید گیر میکنه؟ معمولا این تابع اگر موفق نشه با مقدار بازگشتی نشون میده موفق نشده.
  3. #3
    2017/04/01
    58
    2

    پاسخ : مشکل در SDIO (گیر کردن در دستور f_mount)

    نقل قول نوشته اصلی توسط hossein.m98

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    سلام
    گیر میکنه؟ مطمئنید گیر میکنه؟ معمولا این تابع اگر موفق نشه با مقدار بازگشتی نشون میده موفق نشده.
    آره.
    یه ال ای دی توی مدار دارم که قبل ورود به این دستورات 50 میلی ثانیه روشنش می*کنم و بعد از خروج 500 میلی ثانیه. قبل از ورود روشن می*شه ولی بعد از اون اتفاقی نمیوفته.
  4. #4
    2017/06/13
    1,291
    710

    پاسخ : مشکل در SDIO (گیر کردن در دستور f_mount)

    نقل قول نوشته اصلی توسط ReMadza

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    آره.
    یه ال ای دی توی مدار دارم که قبل ورود به این دستورات 50 میلی ثانیه روشنش می*کنم و بعد از خروج 500 میلی ثانیه. قبل از ورود روشن می*شه ولی بعد از اون اتفاقی نمیوفته.
    کد اون قسمتی که این تابع رو به کار بردید اینجا قرار بدید.
  5. #5
    2017/04/01
    58
    2

    پاسخ : مشکل در SDIO (گیر کردن در دستور f_mount)

    نقل قول نوشته اصلی توسط hossein.m98

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    کد اون قسمتی که این تابع رو به کار بردید اینجا قرار بدید.
    بفرمایید:
    کد:
    HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_SET);
        HAL_Delay(50);
        HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET);
        HAL_Delay(500);
        
        FATFS myFATFS;
        FIL myFILE;
        UINT testBYTE;
        
        if(f_mount(&myFATFS, SDPath, 1) == FR_OK)
        {
            HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_SET);
            HAL_Delay(50);
            HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET);
            HAL_Delay(50);
            HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_SET);
            HAL_Delay(50);
            HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET);
            HAL_Delay(50);
            
            char myPATH[] = "TEXT.txt\0";
            char myDATA[] = "This is the first text\0";
            f_open(&myFILE, myPATH, FA_WRITE | FA_CREATE_ALWAYS);
            f_write(&myFILE, myDATA, sizeof(myDATA), &testBYTE);
            f_close(&myFILE);
            
            HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_SET);
            HAL_Delay(50);
            HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET);
            HAL_Delay(50);
            HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_SET);
            HAL_Delay(50);
            HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET);
            HAL_Delay(500);
        }
        HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_SET);
    طوری نوشتم که اگر وارد شرط f_mount شد led با فاصله 50 میلی ثانیه دوبار روشن خاموش بشه و اگر نشد یک بار با زمان روشن بشه و ورشن بمونه. ولی هیچ کدوم نمیشه.
    ویرایش توسط ReMadza : 2020/07/20 در ساعت 01:30
  6. #6
    2017/06/13
    1,291
    710

    پاسخ : مشکل در SDIO (گیر کردن در دستور f_mount)

    نقل قول نوشته اصلی توسط ReMadza

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    بفرمایید:
    کد:
    HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_SET);
        HAL_Delay(50);
        HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET);
        HAL_Delay(500);
        
        FATFS myFATFS;
        FIL myFILE;
        UINT testBYTE;
        
        if(f_mount(&myFATFS, SDPath, 1) == FR_OK)
        {
            HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_SET);
            HAL_Delay(50);
            HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET);
            HAL_Delay(50);
            HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_SET);
            HAL_Delay(50);
            HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET);
            HAL_Delay(50);
            
            char myPATH[] = "TEXT.txt\0";
            char myDATA[] = "This is the first text\0";
            f_open(&myFILE, myPATH, FA_WRITE | FA_CREATE_ALWAYS);
            f_write(&myFILE, myDATA, sizeof(myDATA), &testBYTE);
            f_close(&myFILE);
            
            HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_SET);
            HAL_Delay(50);
            HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET);
            HAL_Delay(50);
            HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_SET);
            HAL_Delay(50);
            HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET);
            HAL_Delay(500);
        }
        HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_SET);
    طوری نوشتم که اگر وارد شرط f_mount شد led با فاصله 50 میلی ثانیه دوبار روشن خاموش بشه و اگر نشد یک بار با زمان روشن بشه و ورشن بمونه. ولی هیچ کدوم نمیشه.
    اول این که یکم تاخیر ها رو زیاد کنید که به چشم بیاد. 50 میلی ثانیه یکم کمه.
    کد شما رو یه تغییرات که بهتره تستش کنید. از روی نوع چشمک زدن میتونید تشخیص بدید درست کار میکنه یا نه. بهتره برای دیباگ کردن از پورت سریال استفاده کنید و جاهای مختلف داده ای به سریال بفرستید که بشه فهمید مشکل دقیقا از کجاس.
    کد:
    HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_SET);
    HAL_Delay(200);
    HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET);
    HAL_Delay(500);
    
    
    FATFS myFATFS;
    FIL myFILE;
    UINT testBYTE;
    
    
    if(f_mount(&myFATFS, "", 1) == FR_OK)
    {
    	HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_SET);
    	HAL_Delay(200);
    	HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET);
    	HAL_Delay(200);
    	HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_SET);
    	HAL_Delay(200);
    	HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET);
    	HAL_Delay(200);
    	
    	char myPATH[] = "TEXT.txt";
    	char myDATA[] = "This is the first text";
    	f_open(&myFILE, myPATH, FA_WRITE | FA_CREATE_ALWAYS);
    	f_write(&myFILE, myDATA, sizeof(myDATA), &testBYTE);
    	f_close(&myFILE);
    	
    	HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_SET);
    	HAL_Delay(200);
    	HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET);
    	HAL_Delay(200);
    	HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_SET);
    	HAL_Delay(200);
    	HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET);
    	HAL_Delay(500);
    }
    else
    {
    	HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_SET);
    	HAL_Delay(200);
    	HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET);
    	HAL_Delay(200);
    }
    HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_SET);
  7. #7
    2017/04/01
    58
    2

    پاسخ : مشکل در SDIO (گیر کردن در دستور f_mount)

    نقل قول نوشته اصلی توسط hossein.m98

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    اول این که یکم تاخیر ها رو زیاد کنید که به چشم بیاد. 50 میلی ثانیه یکم کمه.
    کد شما رو یه تغییرات که بهتره تستش کنید. از روی نوع چشمک زدن میتونید تشخیص بدید درست کار میکنه یا نه. بهتره برای دیباگ کردن از پورت سریال استفاده کنید و جاهای مختلف داده ای به سریال بفرستید که بشه فهمید مشکل دقیقا از کجاس.
    کد:
    HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_SET);
    HAL_Delay(200);
    HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET);
    HAL_Delay(500);
    
    
    FATFS myFATFS;
    FIL myFILE;
    UINT testBYTE;
    
    
    if(f_mount(&myFATFS, "", 1) == FR_OK)
    {
        HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_SET);
        HAL_Delay(200);
        HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET);
        HAL_Delay(200);
        HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_SET);
        HAL_Delay(200);
        HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET);
        HAL_Delay(200);
        
        char myPATH[] = "TEXT.txt";
        char myDATA[] = "This is the first text";
        f_open(&myFILE, myPATH, FA_WRITE | FA_CREATE_ALWAYS);
        f_write(&myFILE, myDATA, sizeof(myDATA), &testBYTE);
        f_close(&myFILE);
        
        HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_SET);
        HAL_Delay(200);
        HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET);
        HAL_Delay(200);
        HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_SET);
        HAL_Delay(200);
        HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET);
        HAL_Delay(500);
    }
    else
    {
        HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_SET);
        HAL_Delay(200);
        HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET);
        HAL_Delay(200);
    }
    HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_SET);

    خیلی ممنون.
    مشکل این بود که من صبرم کم بود... از قرار معلوم باید 40 ثانیه صبر کرد تا از f_mount خارج بشه...
    ولی خب.. مشکل من هنوز پا برجاست و نمی تونم دیتایی توی اس دی کارت بنویسم.
    مدار هم به شکل زیر ـه:

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت



    (برای اتصال 4 سیم... که اونم امتحان کردم همین مشکل رو داشت) چیزی کم و کسر نداره مدار؟
    اس دی کارت هم فرمتش fat32 هست.
    ویرایش توسط ReMadza : 2020/07/20 در ساعت 21:01
  8. #8
    2017/06/13
    1,291
    710

    پاسخ : مشکل در SDIO (گیر کردن در دستور f_mount)

    نقل قول نوشته اصلی توسط ReMadza

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    خیلی ممنون.
    مشکل این بود که من صبرم کم بود... از قرار معلوم باید 40 ثانیه صبر کرد تا از f_mount خارج بشه...
    ولی خب.. مشکل من هنوز پا برجاست و نمی تونم دیتایی توی اس دی کارت بنویسم.
    مدار هم به شکل زیر ـه:

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت



    (برای اتصال 4 سیم... که اونم امتحان کردم همین مشکل رو داشت) چیزی کم و کسر نداره مدار؟
    اس دی کارت هم فرمتش fat32 هست.
    40 ثانیه که خیلی زیاده! شما بیایید کلاک SDIO رو یکمی کم کنید و تست بگیرید. مدارم فکر نمیکنم مشکلی داشته باشه. تنها مشکلی که میتونه باشه اتصالات نا مناسبه.
  9. #9
    2020/06/20
    2
    0

    پاسخ : مشکل در SDIO (گیر کردن در دستور f_mount)

    سلام دوستان
    من هم یک مشکل مشابه دارم لطفا اگر کسی میتونه کمکم کنه.
    من یک micro SD Card را مشابه اتصالات دوستمون که در قسمت بالا گذاشت به یک میکرو STM32F103RC متصل کردم و با استفاده از SDIO 4 wire میخوام روی اس دی کارت بنویسم. ولی متاسفانه هرکاری میکنم mount نمی شه. توی تابع f_mount گیر نمیکنه ولی خروجی f_mount نا موفق می شه و نمیتونم روی اس دی کارت چیزی بنویسم. کسی ایده ای داره مشکل میتونه از کجا باشه. ممنون
  10. #10
    2017/06/13
    1,291
    710

    پاسخ : مشکل در SDIO (گیر کردن در دستور f_mount)

    نقل قول نوشته اصلی توسط mjnjt

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    سلام دوستان
    من هم یک مشکل مشابه دارم لطفا اگر کسی میتونه کمکم کنه.
    من یک micro SD Card را مشابه اتصالات دوستمون که در قسمت بالا گذاشت به یک میکرو STM32F103RC متصل کردم و با استفاده از SDIO 4 wire میخوام روی اس دی کارت بنویسم. ولی متاسفانه هرکاری میکنم mount نمی شه. توی تابع f_mount گیر نمیکنه ولی خروجی f_mount نا موفق می شه و نمیتونم روی اس دی کارت چیزی بنویسم. کسی ایده ای داره مشکل میتونه از کجا باشه. ممنون
    سلام
    دوستانی که این تاپیک رو میخونن، یه موردی که شاید کسی بهش توجه نکنه پایه detect هستش که توی cube باید به برنامه معرفیش کنید. این پایه به صورت pull up هستش و با اتصال کارت حافظه باید سطح منطقی 0 به خودش بگیره تا برنامه متوجه بشه کارت حافظه وارد دستگاه شده. البته اگر قصد استفاده از همچین پایه ای به شکل عملی ندارید، میتونید توی فایل fatfs_platform.c ، تابع BSP_PlatformIsDetected رو به شکل زیر اصلاح کنید که برنامه همیشه کارت حافظه رو متصل شده در نظر بگیره:

    uint8_t BSP_PlatformIsDetected(void) {
    uint8_t status = SD_PRESENT;
    /* Check SD card detect pin */
    if(HAL_GPIO_ReadPin(SD_DETECT_GPIO_PORT, SD_DETECT_PIN) != GPIO_PIN_RESET)
    {
    status = SD_NOT_PRESENT;
    }
    /* USER CODE BEGIN 1 */
    /* user code can be inserted here */
    status = SD_PRESENT;
    /* USER CODE END 1 */
    return status;
    }

    این مورد رو گفتم که شاید مشکل کسی رو حل کنه و لزوما منظورم مشکل شمایی که نقل قول کردم نیست. شما بهتره بگید کدوم ارور رو برمیگردونه تا اگر بشه بیشتر راهنماییتون کرد.
صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 11

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

  1. پاسخ: 21
    آخرين نوشته: 2019/10/06, 10:08
  2. دستور گرد کردن مقدار یک عدد
    توسط golgolak در انجمن C , C++ , C#
    پاسخ: 6
    آخرين نوشته: 2015/07/11, 20:20
  3. فرق بین حالت SDIO با SPI تو کار با کارت حافظه چیه ؟
    توسط ajapyy در انجمن پروسسورهای ARM
    پاسخ: 2
    آخرين نوشته: 2015/07/02, 13:02
  4. پاسخ: 2
    آخرين نوشته: 2015/02/15, 23:56
  5. پروتکل ارتباطی SDIO
    توسط mohammadfa91 در انجمن پروسسورهای ARM
    پاسخ: 0
    آخرين نوشته: 2013/07/10, 08:39

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

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

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