پس حتما سرعت ارسال خیلی بیشتر از دستورshiftout می شه درسته؟
اگه منظورت اینه که چون پارال میشه سرعت بالاتره باید بگم نه ، چرا که واضحه شما دارید سریال را به پارال تبدیل میکنید ( بهتره بگم انگار خودمون رو گول میزنیم ) و عملا کاری برای افزایش سرعت انجام نمیدیم بلکه در حد ناچیزی کندتر هم میشه. :agree:
بگو هدفت چیه تا بشه کمکت کرد
موفق باشید
امام علی (علیه السلام) : الزکات العلم نشرهُ/ زکات علم نشر آن است
پس حتما سرعت ارسال خیلی بیشتر از دستورshiftout می شه درسته؟
100٪ سرعتش بیشتره
چون تا جایی که میدونم با SPI فقط کافیه تو یه رجیستر مقدار ارسالی رو بنویسی بعد جدا از روند کاری برنامه دیتا ارسال میشه
ولی با دستورای نرم افزاری این کار به طور کامل با برنامه ای که مینوسیم انجام میشه.
خودم اتفاقا چند روز پیش دنبالش بودم، ولی بنا به دلایلی تو این مدت نمیتونم عملی انجامش بدم، اگه اینجا به نتیجه برسین خوشحال میشم
منظور من پارالل نبود. مثال می زنیم. دو بورد داریم که هر کدام 10 تا ای سی 74HC595 بهش وصله. در بورد اولی با دستور SPIOUT استفاده می کنیم برای ارسال دیتا و در بورد دوم از دستور SHIFTOUT استفاده می کنیم. حالا سرعت ارسال در کدام بیشتر است و چند برابر؟
منظور من پارالل نبود. مثال می زنیم. دو بورد داریم که هر کدام 10 تا ای سی 74HC595 بهش وصله. در بورد اولی با دستور SPIOUT استفاده می کنیم برای ارسال دیتا و در بورد دوم از دستور SHIFTOUT استفاده می کنیم. حالا سرعت ارسال در کدام بیشتر است و چند برابر؟
دستور SPI یه کتابخانه گسترده و بزرگه که حافظه ی زیادی از میکرو می گیره
همین شیفت رجیستر بهتر عمل می کنه. اگه تو C باشه خیلی پر سرعت تر هست.
من می خوام بدونم چند برابر shiftout است. چون یه تابلو روان دارم طراحی می کنم. اگر سرعت spi به طور چشم گیری بیشتر از shiftout است بورد رو طبق spi طراحی کنم.
دوست عزیز SPI سخت افزاری از لحاظ سرعت به مراتب سریعتر از دستورات نرم افزاری مثل shiftout هست.
البته به شرطی که SPI رو در بالاترین سرعتش استفاده کنید.
مثلا اگر میکرو شما مگا 16 باشه و کریستال شما هم 16 مگ باشه ، شما میتونید SPI رو با فرکانس 4 مگ فعال کنید و دیتا رو ارسال کنید.
اگر نکته ای هست بفرمایید تا توضیحات بیشتری بدم.
موفق باشید.
دیدگاه