با سلام و احترام
در ارتباط برای خاندن رجیستر 0x37 که ویرایش ماژول است با استفاده از
HAL_SPI_Transmit(&hspi1,d,1,20) و بعد از آن HAL_SPI_Receive(&hspi1,r,1,2000) معمولا دیتای خرابی دریافت می کنم که 0 یا ff است ولی وقتی دو بار HAL_SPI_TransmitReceive(&hspi1,d,r,2,2000);
HAL_SPI_TransmitReceive(&hspi1,d,r,2,2000); را استفاده می کنم بار اول دیتا اشتباه است ولی دفعه بعد 92 هگز است که ویرایش است و بعد از آن هر بار که می خوانم عدد ویرایش درست است .
چه تفاوتی بین این دو روش وجود دارد ؟
بار اول 74 هگز جواب داده و بعد هر چند بار که سوال شده همان 92 و درست است .
سوال بعدی :
در صورتی که با تابع HAL_SPI_Transmit(&hspi1,d,2,2000); دتایی در رجیستری بنویسم به نظر می آید که دیتای mosi را در miso دریافت می کنم که خیلی عجیب است

92 اولی جواب دستور قبلی است که همان ویرایش رو سوال کرده بودم و بعد از آن ..
در ارتباط برای خاندن رجیستر 0x37 که ویرایش ماژول است با استفاده از
HAL_SPI_Transmit(&hspi1,d,1,20) و بعد از آن HAL_SPI_Receive(&hspi1,r,1,2000) معمولا دیتای خرابی دریافت می کنم که 0 یا ff است ولی وقتی دو بار HAL_SPI_TransmitReceive(&hspi1,d,r,2,2000);
HAL_SPI_TransmitReceive(&hspi1,d,r,2,2000); را استفاده می کنم بار اول دیتا اشتباه است ولی دفعه بعد 92 هگز است که ویرایش است و بعد از آن هر بار که می خوانم عدد ویرایش درست است .
چه تفاوتی بین این دو روش وجود دارد ؟

بار اول 74 هگز جواب داده و بعد هر چند بار که سوال شده همان 92 و درست است .
سوال بعدی :
در صورتی که با تابع HAL_SPI_Transmit(&hspi1,d,2,2000); دتایی در رجیستری بنویسم به نظر می آید که دیتای mosi را در miso دریافت می کنم که خیلی عجیب است

92 اولی جواب دستور قبلی است که همان ویرایش رو سوال کرده بودم و بعد از آن ..
دیدگاه