(16-06-2019, 13:31)Jakub428 napisał(a): Pracuję teraz na płytce genuino 101 więc na dość mocnej płytceCo z tego, że płytka mocna jak w kodzie masz:
(16-06-2019, 13:31)Jakub428 napisał(a):i para idzie w gwizdek.Kod:delay(wait);
Jak używasz delay (bez RTOS, w którym delay nie "zawiesza" CPU i inne zadania działają) to czy masz 8MHz 8-bit, czy 2GHz 64-bit, przyrostu prędkości nie zobaczysz. Aby zrozumieć mój przekaz obejrzyj filmy:
Adruino UNO - AVR (8-bit) 16MHz
ARM (32-bit) STM32F411 60MHz
Jak widać różnica jest niewielka. Powód? Nie skorzystano z możliwości sprzętowych ARM, natomiast tu:
ARM (32-bit) STM32F411 60MHz
wykorzystano DMA, różnica jest znaczna (10..13 razy szybciej).
Na koniec małe porównanie obu uC:
Szescian_3D_ARM_vs_AVR
Na AVR widać operację kasowania ekranu, na ARM dzieje się to na tyle szybko (ok 23ms), że oko tego nie zauważa.
Na poniższym filmie, AVR zmienia rozmiar prostokąta co 10 a nie co 1 piksel przy każdym odświeżeniu ekranu, bo trzeba by dłuuuugo czekać na wykonanie animacji.
Szescian_3D_i_animowane_tlo
a i tak wygląda żałośnie. Tak samo żałośnie by wyglądała na ARM gdyby nie wykorzystać jego potencjału. Ty nie wykorzystujesz potencjału uC, bo używasz delay.