Witam kolegów.
Chciałbym, żeby ktoś pomógł mi zrozumieć skąd się bierze i ile jest cykli podczas wysyłania/odbierania jednego bajtu przez SPI? Z tego co zrozumiałem to przy podzielniku SPI / 2, dla 8MHz, powinienem móc wysłać trochę poniżej 500kB/s.
Zegar SPI ustawiłem na Fcpu / 2. Robię:
I wychodzi na to, że kod długo dość wisi na funkcji while.
Po podejrzeniu w debugerze, cała pętla while to tylko 3 instrukcje assemblera, ale kod skacze przynajmniej kilkadziesiąt razy w tej pętli. W sumie pokazał 134 cykle na jedną iterecję pętli:
co przy 8MHz daje jakieś ok 59 Kbajtów.
Jaką rzeczywistą prędkość przesyłania danych można uzyskać na zegarze 8MHz?
Pozdrawiam
Chciałbym, żeby ktoś pomógł mi zrozumieć skąd się bierze i ile jest cykli podczas wysyłania/odbierania jednego bajtu przez SPI? Z tego co zrozumiałem to przy podzielniku SPI / 2, dla 8MHz, powinienem móc wysłać trochę poniżej 500kB/s.
Zegar SPI ustawiłem na Fcpu / 2. Robię:
Kod: C / C++
I wychodzi na to, że kod długo dość wisi na funkcji while.
Po podejrzeniu w debugerze, cała pętla while to tylko 3 instrukcje assemblera, ale kod skacze przynajmniej kilkadziesiąt razy w tej pętli. W sumie pokazał 134 cykle na jedną iterecję pętli:
Kod: C / C++
Jaką rzeczywistą prędkość przesyłania danych można uzyskać na zegarze 8MHz?
Pozdrawiam