• 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
MAX31865 - prędkość pomiaru PT100/1000
#6
(24-05-2019, 06:56)PierwszyWolnyLogin napisał(a): Na początek wywaliłem te opóźniacze i czas pomiaru skurczył sie do <> 4ms Smile
Nie możesz zakładać czasu konwersji 4ms gdy przetwornik może to robić nawet 21ms.
Biblioteki dla Arduino, w 90% są pisane na "sztukę". Dobra biblioteka używa przerwań, sprawdza czy konwersja skończyła się i odczytuje wynik. Takie postępowanie nie "zawiesza" CPU na długie ms bez potrzeby.

Pisząc soft, tak jak to robi większość "Arduinowców" można zniweczyć najszybsze uC i 1GHz nie pomoże, gdy CPU będzie kręcił się w kółko przez 70ms.
Jak już ma się problem z pisaniem programów wielowątkowych to trzeba sięgnąć po RTOS, ale tam też obowiązują pewne zasady. Trzeba też pamiętać, że RTOS lubi RAM, na szczęście nie tak jak pseudosytem Windows. Zapotrzebowanie na RAM wynika z konieczności zapamiętywania wszystkich rejestrów uC, jak ma FPU to także tych. Każdy task, musi mieć swój stos (istniej opcja wspólnego stosu ale coś za coś).
Teoretycznie, RTOS można uruchomić na AVR z 2kB RAM, ale to iluzja, bo "na dzień dobry" mnie 2kB nie wystarcza przy wielowątkowości, bo np bufor UART to 256bajtów, LCD 1..150kb a dochodzą bufory dla (nadawcze i odbiorcze) dla SPI czy I2C albo USB.
Jak nie ma LCD to 16..20kB wystarcza, no chyba, ze jest jeden interfejs, np SPI, wtedy i 8kB wystarczy (czasem i mniej). Jak jest LCD to on "narzuca" wielkość RAM. Inne interfejsy, jak SPI, I2C, UART tyle i le potrzebują, to może być kilkanaście bajtów a mogą być i kB. ETH po trochę ponad 1,5kB dla każdego (nadawczy i odbiorczy), USB po 1kB.
 
Odpowiedź
  


Wiadomości w tym wątku
RE: MAX31865 - prędkość pomiaru PT100/1000 - przez es2 - 24-05-2019, 10:04

Skocz do:


Przeglądający: 1 gości