Też nie to, pomiędzy czytaniami jest opóźnienie (w readadc), ale dopisze to tu. W while dalszy kod (kreseczki) wykonuje sie dość długo - obsługa LCD, sama petla while powtarza sie co ok. 200ms. 1. Opóźnienie? A jakbyś tak sprawdzał flagę zakończenia konwersji? 2. delayadc(...)? A jakbyś tak użył do odmierzania czasu timera?
Kosztem dokładności możesz zrobić to na jednym wspólnym 2-kanałowym timerze i przerwaniu EXTIi (oddzielnym dla każdego czujnika). Dwa kanały służyłyby do odmierzania czasu impulsu startowego i kasowania czujnika - wymuszenia kończenia pomiaru, a okres timera wyznaczałby cykl pomiarowy do kolejnego przeglądanai czujników.
To samo co tutaj: https://www.elektroda.pl/rtvforum/topic3...
Timery i dokładne odmierzanie czasu w różnych miejscach kodu. Zamiast korzystać z kilku timerów, można w różnych blokach kodu konfigurować 1 timer i wstrzykiwać odpowiednią funkcję przerwania. Oczywiście pod warunkiem, że nie będziemy musieli odmierzać czasu dla dwóch bloków jednocześnie. Wygląda na to, że potrzebujesz po prostu callbacka w jednym...
Chciałbym w jakiś sposób przechodzić w tryb uśpienia, ale potrzebuję też odmierzania czasu z dokładnością do 1ms, i inaczej niż pobieranie SysTick z taką częstotliwością nie potrafię tego rozwiązać, tym bardziej, że chciałbym, żeby drugi stm32 podłączony do tego poprzez moduł RF (na SPI) też tak samo odliczał czas, próbowałem na RTC, ale tam jest dokładność...
(at)jorax Sprawdź czy masz dobrze ustawione zegary, bo myślę że nie :( Ustaw sobie któryś timer (może być SysTick) żeby ci odmierzał stały odcinek czasu np. 5s. i w przerwaniu zmieniaj stan diody. Porównaj miganie diody z zegarkiem i będziesz mógł oszacować czy zegary są dobrze ustawione.
Czyli się nie nadaje na odliczanie ?
Nie 103 a 107. Cała rodzina F1 jest przestarzała. W STM32F4, F7 i F0 jest do sześciu SPI. Do tego warto dodać, że USART może pracować w trybie SPI w każdym STM32.
Używam RTCa z STM32103ZET6 z rezonatorem 12.5pF. Narazie działa bez zarzutu. Kwarc to jeden z najtańszych z TME 32.768K-20PPM . Do tego dwa kondensatory 10pF też nic nadzwyczajnego. Myślę że problemem będzie tylko nieprecyzyjne odmierzanie czasu. Kiedyś używałem RTCa Dallasa i on miał możliwość przełączenia typu rezonatora. Jedyną różnicą w działaniu...
Mam pytanko. Jaki jest minimalny czas odmierzany przez timer 8-bitowy? bo mi minimum na zegarze 8mhz wychodzi 0.016ms, nawet jak preskaler dam 1 i OCR0 =1. A 16 bitowym mogę mniejsze odmierzyć. według mojej wiedzy powinny minimalny czas mieć taki sam (1/czestotliwość zegara głównego) edit: No i jest problem atmega z zegarem 16mhz jest za wolna. Gdy...
(...) by uzyskać częstotliwości 32Hz (okres 0,03125s) oraz 64Hz (okres 0,015625s). Czy możesz ustalić kombinację okresów z tych dwóch dzielników tak aby w ciągu sekundy otrzymać 60? Możesz też zaproponować kod w Arduino generatora taktującego dla TMS3450. Interesuje mnie jak najmniejszy błąd odmierzania czasu. Wprowadzenie Dziękuję za szczegółowe przedstawienie...
Spróbowałem maski, ale też wspomniałem, że dokładnie takim samym błędem kończy się poszczególne ustawianie bitów jak robię to na całej reszcie rejestrów. Salmona widziałem, z tym, że on korzystał z STM32 C031, co prawda dokumentacja z której korzystał jak na razie pokrywa się, tak jemu sterowanie diodą zadziałało od razu, tak mi już nie działa. Inna...
Ehhh. Sprawa się poniekąd wyjaśniła. Ma być TCCR2 = 0b00001001 zamiast TCCR2 = 0b01000001. WGM21 pomyliło mi się z WGM20. Zamiast CTC był tryb PWM Phase Correct. Teraz wszystko działa bez zacinania. Dalej nie wiem czego w trybie Normal dzieli sygnał przez 4 ale może jakoś przeżyję. Przepraszam za niepotrzebne zamieszanie. Pozdrawiam EDIT: Wystarczy...
opisz jak w procesorze STM32F411 skalibrować RTC używająć rejestrów. Posiłkuj się Reference Manual i notą aplikacyją AN4759 Wstępna ocena dostępnych informacji Użytkownik prosi o szczegółowy opis kalibracji RTC w mikrokontrolerze STM32F411 przy użyciu rejestrów, opierając się na Reference Manual oraz nocie aplikacyjnej AN4759 . Celem jest precyzyjne...
Przepraszam za mało fachowe wytłumaczenie. Chciałbym stworzyć sobie funkcję która pozwoli tak jak osDelay(); odmierzać kawałki czasowe ale w us a nie ms jak systemowy delay. Dokładność odmierzania nie jest tu kluczowa kluczowe jest nie zajmowanie czasu procesora w czasie oczekiwania. Tak jak to robi osDelay(); Dokładność opóźnienia powinna...
Mikrokontrolerem można odmierzać okres - jeśli działa z zegarem 1MHz, to można na nim zrobić generator dający się ustawić na 1000Hz, 999.001Hz, 998.004Hz,... przy mniejszych częstotliwościach odstępy będą coraz mniejsze. Nie da się cyfrowo zrobić równych odstępów, jeśli sygnał ma być równym prostokątem. Można natomiast wykonywać dodawania: np. do zmiennej...
Witam, Chcę skonfigurować timer tak aby po określonym czasie zostało wygenerowane przerwanie(jednokrotnie), fragment kodu: [syntax=c]TIM4->PSC = 7200; TIM4->ARR = 10000; TIM4->DIER = TIM_DIER_UIE; TIM4->CR1 |= TIM_CR1_URS | TIM_CR1_OPM | TIM_CR1_CEN; NVIC_EnableIRQ(30);[/syntax] obsługa przerwania: [syntax=c]__attribute__ ((interrupt)) void TIM4_IRQHandler(void)...
Tylko tak jak na stronie Arduino pisze Jest napisane. , funkcja pulseIn() "Works on pulses from 10 microseconds" co daje 100Hz bez dzielnika a z dzielnikiem tylko 400Hz. Więc jak to rozwiązać? Już napisałem, sygnał mierzony dajesz na wejście licznika. Tak można mierzyć częstotliwości do częstotliwość_taktująca_mikrokontroler / 2. W nocie katalogowej...
Nie wiem, jak się programuje przerwania na RPi, robiłem to na PC - na starym PC/XT dało się wyciągnąć powtarzalny pomiar impulsu z rozdzielczością us, ale na zablokowanych przerwaniach (poza tym, które uruchamiał mierzony sygnał), na współczesnych, nawet niezbyt szybkich, ns pewnie jest do osiągnięcia. Ale jeśli jest obsługiwane przerwanie akurat wtedy,...
No właśnie, Możesz skopiować funkcje którą podałem ci w poprzednim wątku, ta z przerwania odczytująca stan przycisków. Dodatkowo uzbroić ją jak wyżej (at)excray napisał w odmierzanie czasu naciśnięcia. Wówczas odpowiednio ustawiasz kod klawiatury. Algorytm mniej więcej... Zaznaczam w funkcji który guzik nacisnieto, w kolejnych przerwaniach zliczamy...
http://obrazki.elektroda.pl/8875559300_1... Chciałbym przedstawić mój projekt na konkurs świąteczny bazujący na płytce Nucleo 64 z mikrokontrolerem STM32 na modelu STM32F411RET6 WiFi komunikujący się z telefonem z systemem Android do coraz bardziej popularnych diod WSRGB2811 zamontowanych na świątecznej choince. Dokładnie to łańcuch...
Witam, mam problem z termometrem DS18B20 gdyż nie chce mi odpowiadać na mój wysłany bit. Chodzi dokładnie o pierwszą funkcję sprawdzającą układ czyli o RESET. Z użyciem warunków presence zawsze wynosi 1, a aby działał poprawnie powinien posiadać wynik 2. Mój kod: [syntax=cpp] uint8_t Reset(void) { uint16_t presence=0; WireOff(); WZDelay::delay_us(480);...
(at)kamil94goldman odpowiedź jest prosta - tak samo jak do PSC wpisujesz wartość o 1 mniejszą niż dzielnik który sobie policzyłeś, tak do ARR również powinieneś wpisać wartość o 1 mniejszą. no tak... ;) Walczę z odmierzaniem czasu, nie wchodząc w przerwanie. Opóźnienie chciałem uzyskać dzięki sprawdzaniu flagi przerwania ale gdy program uruchamiam...
Witam. Mam pytanie dotyczące płytki stm32f4 discovery. Dopiero zaczynam z nią prace i jestem przy timerach. Mam np. timer 4. Jaki powinienem dac okres zliczania i preskaler aby uzyskać np. 5 sek??? Czy odmierzanie czasu konfiguruje inaczej???
Chce osiagnac prawidlowe odmierzanie czasu. ;] Przeczytalem po prostu ze "Dla APB2 f maks to 72MHz, a dla APB1 to 36MHz i jeśli taktowanie jest mniejsze niż te wartości to timery są taktowane z f 2x mniejszą niż magistrale. " Pisownię postu poprawiłem.
Przez modulację impulsów miałem na myśli przejście z pojedynczego impulsu o czasie trwania t3 na szereg impulsów o większej częstotliwości o łącznym czasie trwania t3 (czyli takie "posiekanie" pojedynczego impulsu). Po przemyśleniu doszedłem do wniosku że mogę uzyskać taki sam efekt stosując sprzętowy pwm w drugiej gałęzi odbiornika (schemat: plus zasilania->...
ST w swojej ofercie oprócz STM32 ma STM8 jak i SPC5xx czyli PowerPC z ukierunkowaniem na zastosowania samochodowe co świadczy o braku wywrotności w trudnych warunkach pracy. STM8 często można spotkać w chińskich termostatach i innych małych, uniwersalnych płytkach. Skoro te wszystkie linie kontrolerów sprzedają się, są produkowane to znaczy, że rynek...
Witam, problem i zarazem pytanie jak w temacie. Napisałem funkcję obsługi 1-wire z wykorzystaniem bibliotek API STM32 do komunikacji z czujnikiem temperatury DS1820. Funkcja wywoływana jest w przerwaniu od timera. Nie było z nią problemów gdy rdzeń STM-a pracował częstotliwością 168 MHz, przy niższych wstępowały błędy komunikacji. Podejrzewałem, że...
Sprzęt dostarcza zamawiający. Bibliotekę obsługi łańcuchów tekstowych dostarcza zamawiający Serwer komunikacyjny dostarcza zamawiający. Opis protokołu wymiany danych dostarcza zamawiający. ........................................... Funkcje sterownika: Praca z wykorzystaniem sygnałów i przerwań od USART i Timera 1sec. kontroler ma przebywać...
odmierzanie czasu timer1 odmierzanie czasu odmierzanie czasu atmega
generator liczb nagłośnienie fitness iveco daily problemy klimatyzacja
odpowietrzanie klimatyzacji odpowietrzanie klimatyzacji
Błąd P1336 w Peugeot 407 2.0 16V - przyczyny i diagnostyka Podłączenie głośników w Peugeocie 307 2003