در حالت کلی میخوام Master چند تا Slave داشته باشه و به ترتیب اطلاعات هر Slave رو پشت سر هم بگیره و مثلا یه جا ذخیره کنه
الان برای تست میخوام بین SPI1 و SPI2 میکروکنترلر STM32 ارتباط Full Duplex برقرار کنم. به این صورت که Master فقط لازمه که 1 بایت (مثلا 0xFF) برای Slave ارسال کنه و دیتا اصلی از طرف Slave برای Master ارسال بشه.
تا اینجا فهمیدم که خب Clock توسط Master تولید میشه و همیشه باید Master یک بایت برای Slave ارسال کنه و همون موقع Slave هم یک بایت برای Master ارسال کنه و این کار همینطور تکرار بشه تا Slave یه بایت خاص (مثلا 0x0A) ارسال کنه و به Master اعلام کنه که ارسال تموم شده و ارسال بایت 0xFF رو تموم کن.
این کار رو میتونم با IRQ انجام بدم و فقط 1 بار انجام بشه. البته دیتای سنسور 0 ارسال میشه و باید مشکل اون رو پیدا کنم. اونم دیلیلش اینه که توی Loop اصلی برنامه دارم سنسورها رو میخونم و همزمان داره توی IRQ اطلاعات ارسال میشه و احتمالا index ها قاطی میشه و…
میخوام ببینم کلا راه اصولی برای اینجور کارها چیه؟
من فقط دوره “آموزش برنامه نویسی میکروکنترلرهای STM32” رو تهیه کردم و بیشترش رو دیدم