Liczba postów: 2,364
Liczba wątków: 0
Dołączył: Oct 2017
Reputacja:
240
Zajrzyj do PDF max31865, pojedyncza konwersja ma trwać ponad 60ms, można wyzwolić pomiary ciągłe w trybie 60/50Hz i wtedy to jest to te 20ms. Ale to tylko oznacza, że nie powinieneś spodziewać się nowego odczytu z większą częstotliwością, a nie że ma zabierać z loop 20ms. Biblioteka Adaruit jest OK jako demo do modułu, który sprzedają - kupujesz, odpalasz, sprawdzasz, działa/nie działa. Poszukaj innej. Czas tracony na odczyt z max'a powinien wynosić kilkadziesiąt us, teraz tracisz 4ms i nie wiadomo co odczytujesz - przy pierwszym pomiarze to jest dłużej bo ma ustawić tryb pomiaru, ustabilizować napięcia, odłączyć się od zasilania, itp.
Liczba postów: 856
Liczba wątków: 2
Dołączył: Nov 2017
24-05-2019, 19:37
(Ten post był ostatnio modyfikowany: 24-05-2019, 19:41 przez es2.)
(24-05-2019, 17:12)kaczakat napisał(a): Czas tracony na odczyt z max'a powinien wynosić kilkadziesiąt us
Święte słowa, choć robiąc to porządnie w IRQ będzie trochę dłużej ale nie blokuje programu głównego. Używając DMA jest jeszcze lepiej. W ten sposób, "wysłanie" danych do 128led WS2812 zajmuje ok 300ns na niezbyt szybkim uC. Niestety, RAM jest potrzebny.
Dziwi mnie brak DMA w większości uC 8-bit, które było "powszechnie" stosowane w popularnym Z-80 ale także 8080. W 8080 układ wizyjny (zależy jaki), bez DMA mógłby nie działać. Fakt, że DMA "lubi" RAM więc w 8051 nie było większego sensu ale w takim np Mega1284? Dlaczego nie ma DMA? DMA dodano w Xmega ale było to za późno, ARM-y praktycznie wyparły Xmega.
Liczba postów: 856
Liczba wątków: 2
Dołączył: Nov 2017
25-05-2019, 09:07
(Ten post był ostatnio modyfikowany: 25-05-2019, 13:00 przez kaczakat.
Powód edycji: Zbędne złośliwości
)
Nie widzę też problemu aby na sprzętowym SPI pracowała karta SD jak i inne układy.
Kaczakat:
Panie ES2, proszę pisać bez zbędnej złośliwości. Jest Pan na forum Arduino, to oczywiste, że programują tu amatorzy wykorzystujący Arduino. Wystarczyło napisać, że sprzętowe SPI można wykorzystywać dla więcej niż 1 SLAVE. Do pomiaru temperatury wystarcza Attiny13, ARM i DMA też nie jest potrzebne. Usunąłem zbędne uwagi i poprawiłem Panu literówki - nikt nie jest doskonały?