سلام
میخواستم که از آی سی w25q16 روی برد ارزیابی Mc60 استفاده کنم ولی توی ارتباط Spiمشکل دارم.
موقع گرفتن ID آی سی مقدار درستی رو برمیگردونه ، موقع write کردن هم Data به درستی نوشته میشه , اما موقع خوندن از اون مقدار 0xFF رو فقط دریافت میکنم.( تابع Ql_SPI_WritRead زمانی این مقدار رو برمیگردونه که طول بافر write بیشتر از Read باشه )
مشکل از چیه؟
سلام دوست عزیز اتفاقا من هم یه برنامه نوشتم درست کار نمیکنه بنظرت مشکلش از کجاست؟!!!
اینجور سوال ها خیلی کلیه و نمیشه جواب درستی براشون پیدا کرد برای همین اکثر کسانی که این مدل سوال هارو میبینن بهش جوابی نمیدن.
حداقل کدهایی که نوشتی رو میزاشتی
دیتایی که فرستادی و پاسخی که گرفتی رو بصورت log میزاشتی
از صحت مدارت مطمئن هستی؟ عکس بردت “ارزیابی MC60” رو میزاشتی و لینکش رو میدادی
خودت ارتباط spi رو سخت افزاری بهش وصل کردی یا خود برد از قبل گذاشته بود؟
و و و و …
سلام
اول از همه به نکاتی که مهندس @mahdiRahi اشاره فرمودند دقت کنید
شما میتونید از example پیش فرضی که داخل sdk ماژول هست استفاده کنید
کد تست شده و مشکلی نداره
به این نکته هم باید دقت کنید که قبل از نوشتن دیتا باید بلاک های حافظه رو پاک کنید تا بتونید روش بنویسید و گرنه جواب همین 0xFF میشه
سلام
منم این مشکل رو داشتم، به خاطر بلاک بودن حافظه بود
تابع آنبلاک رو اجرا کنید میتونید به درستی بنویسید و بخونید
flash_wr_enable
این تابع داخل مثال ها هست:
ql_winbond_flash_block_unlock
من از این کتابخونه که برای STM بود استفاده کردم و به بجای توابع Hal توابع کویکتل رو جایگزین کردم.
از برد ارزیابی mc60 که توی فروشگاه سیسوگه (برد آبی رنگ ) دارم استفاده میکنم که روی خودش یه آی سی فلش W25qxx داره و به پایه های spi خود mc60 متصله
همونطور که گفتم از example خود کوییکتل میتونید استفاده کنید و مناسب همین آیسی هست
تست کنید و نتیجه رو هم اینجا اطلاع بدید
تست شد و اوکی بود
ممنون از راهنماییتون