• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Wykonanie całej kolejki przerwań zanim program ruszy dalej.
#5
AVR wyrobi a jak program napisany źle, to i 1GHz nic nie zmieni. Na Z-80 dałbym radę zrealizować zadania, które realizuje robot bo robi niewiele.
Należy zacząć od tego, jak często wykonują się przerwania?
Pokaż rozwinięcie asm procedury obsługi przerwania.

Dalej, moc CPU jest zabijana przez delay i to bardzo długie. Stąd pozorne wrażenie, że przerwania czekają w imaginowanej kolejce. Wystarczy w przerwaniu "tachlować" sobie jakimś pinem GPIO i zobaczyć na oscyloskopie, że przerwania wykonują się natychmiastowo. Przy okazji bedzie widać ile czasu zostaje na program główny.

Dlaczego zliczanie kroków jest realizowane programowo? Timerów zabrakło?

Po co liczby zmiennoprzecinkowe? Po co double? W AVR double i float to jedno i to samo!
Ciekawostka: Kiedyś "long" i "long long" było 32-bit teraz na szczęście już nie ale i tak AVR-GCC wymaga wielu protez bo uwiązał się do 16-bit w wielu operacjach dlatego nie nadaje się do poważnych zastosowań, chyba, ze ktoś ma dużo czasu na pisanie softu.
 
Odpowiedź
  


Wiadomości w tym wątku
RE: Wykonanie całej kolejki przerwań zanim program ruszy dalej. - przez es2 - 17-01-2019, 18:51

Skocz do:


Przeglądający: 2 gości