Z tym bym polemizował: TIM2->PSC = (uint16_t)83999; //Prescaler: counter value increased every milisecond Dodatkowo nie bierzecie pod uwagę, że może wystąpić przerwanie od przewinięcia się licznika.
OK, dzieki użyłem gotowca Nie używaj gotowców w takiej banalnej sytuacji. Doczytaj co to jest ten Systick. W dużym skrócie to licznik 24 bitowy - to ważna informacja, może zliczyć maksymalnie do ok. 16 mln (2 do 24). Po doliczeniu do zaprogramowanej wartości zgłasza przerwanie. Do ustawiania wartości można użyć funkcji Systick_Config(), ale najlepiej...
dlaczego od wartości Load odejmujemy 1 ? Bo liczniki używają też wartości 0, więc jeśli chcesz mieć przykładowo 5 cykli, to wpisujesz do licznika wartość "5 - 1". Licznik w efekcie odliczy 4-3-2-1-0 - razem pięć (;
No ale przecież tak właśnie jest zrobione - preskaler/dzielnik to po prostu licznik z porównaniem. 4\/3!!
Na bazie jednego z przykładów od STM zrobiłem transfer DMA z urządzenia zewnętrznego i drugi układ z transferem do urządzenia zewnętrznego. W każdym przypadku miałem zewnętrzny sygnał taktujący (zegar) danych równoległych w takt którego dane są wysyłane/odbierane. W przykładzie był do tego zaprzęgnięty któryś timer, ale nie pracował jako licznik tylko...
Ostatecznie możesz zrealizować taki pomiar w oparciu o układy cyfrowe. Budujesz generator o odpowiednio dużej częstotliwości do tego jakiś licznik i układ bramkujący ...a mikrokontroler stosujesz do sterowania tym układem oraz odczytem wartości z licznika i akwizycji na wyświetlacz. Wspomniane mikrokontrolery XMEGA są oczywiście lepszym wyjściem z sytuacji...
Jeśli timer jest 16-bitowy to musisz dorzucić coś więcej - 16-bitów to zbyt mało. Licznik z którego korzystają run-time stats musi być 32-bitowy... Ja na STM32 mam to zrobione tak... 1. W FreeRTOSConfig.h mam: [syntax=C]... /*--------------------------------------... | Runtime...
może popatrz na to: https://stm32.eu/2012/04/11/timer-systic... Nie mam doświadczenia z STM32. Moja odpowiedź raczej dotyczyła licznika 4-bitowego.
Jeśli coś mniejszego od Raspberry/Orange Pi, to proponuję zacząć od poszukania oprogramowania niezbędnego do działania z Arduino i z modułem STM32, oraz sprawdzenia, jakie możliwości daje który moduł. Z tego, co pamiętam, STM32 jest dużo szybszy, najtańsze moduły do obu są w cenie kilkunastu zł - moduł STM32C8T6 od około 14zł, Arduino Pro Mini od 12.60zł...
Wygląda na to że sie uszkodził port E na innych wszystko działa. Stm32 to delikatne procesory, trzeba uważać z prądami na wejściach wyjściach. Atmele to czołgi przy nich. Temat zamykam
Czy nie powinno być: [syntax=c] TIM1->PSC = 0; [/syntax]
KEELOQ + rolling code można wykorzystać w swoim projekcie DIY bez przeszkód? Oczywiście. Dodano po 33 Mogę zainteresowanym podać kod KEELOQ dla pilota i odbioru , oczywiście z innymi danymi pilota ;). PILOT: Dodano po 10 Bardzo ciekawy i użyteczny projekt, właściwie to prototyp, który może przekształcić się w produkt. A czego mu brakuje żeby już nie...
Próbuję uruchomić przykładowe kody do sterowania diodami ws2812 lub sk6805 z mojej płytki Nucleo F411RE no i d..pa:(akurat tu na tapecie lekcja z kursu Forbota, ale dotyczy to innych opisów sterowania diodami poprzez PWM i DMA: problem polega na jakichś dziwnych częstotliwościach otrzymywanych z wyjścia PWM - w ogóle nie mających nic wspólnego z dostępnymi,...
https://obrazki.elektroda.pl/3252078300_... Poniższy artykuł przedstawia – krok po kroku – wykonanie niewielkiego, kieszonkowego oscyloskopu cyfrowego. Nie jest on tak dobry jak zwykły warsztatowy oscyloskop, ale z drugiej strony można zabrać go niemalże wszędzie. Poza tym – nie wszystkie projekty DIY muszą mieć sens....
Mam więc ten 3-fazowy licznik energii. Wygląda na to, że jest oparty na CBU-IPEX, więc BK7231N MCU. Układ monitorowania energii to ATT7022EU i GD32E230, jakiś klon STM32 (co dokładnie robi??) i układ pamięci SPI 25VQ32BSIG 4MB (może dla BK7231N?). Dziwne małe urządzenie. Jakieś pomysły, czy to może być kompatybilne z OpenBeken? https://obrazki.elektroda.pl/4288769100_...
https://obrazki.elektroda.pl/9151185000_... Autor poniższego zestawienia jest inżynierem i konsultantem wsparcia dla systemów wbudowanych. W swojej karierze poznał on szereg różnych architektur mikrokontrolerów, różniących się wydajnością, wyborem peryferii, poborem zasilania etc. Wybór odpowiedniego układu stanowi zawsze o sukcesie...
KAM-ELE-ON Hot Water Visualizer V5.7.3 https://obrazki.elektroda.pl/3337561500_... https://obrazki.elektroda.pl/2004735900_... https://obrazki.elektroda.pl/1180862600_... https://obrazki.elektroda.pl/1239958000_... Czym właściwie jest? Powiem w skrócie: Odpowiedzią na nurtujące pytania...
Nie do końca wiem o co chodzi ze zdjęciami ale niektóre są prześwietlone specjalnie aby było widać dokładnie oznaczenie chip-u który się tam znajduje. Jestem zawsze otwarty na sugestie :) . Jeśli chodzi o dokumentacje to są szczątkowe, wiadomo BK7231N ma dostępną jednak jeśli o np, klon STM32 to niestety ale jakiś lakoniczny opis wraz z schematami...
Mnie tam brakuje ustawienia przerwania: [syntax=c]TIM1->DIER = 0x00000001;// enable update interrupt[/syntax] Ogólnie takie coś powinno działać: [syntax=c]TIM1->CR1 = 0x00000000;// default TIM1->PSC = 0x000000FF;// set max prescaler TIM1->ARR = 0x00000FFF;// set max reload count TIM1->CCMR1= 0x00000068;// set PWM mode 1 TIM1->CCR1= 0x000000FF;// set...
(...) 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...
konstrukcja na pojedynczych licznikach TTL + bramkowanie z GPS. Całość odczytywana i obrabiana przez procesor. Bez sensu. Liczniki sa w mikrokontrolerze, jak licznik jest za krótki, to albo przerwanie od przepełnienia i część licznika programowa, albo lepiej kaskadowe połączenie liczników. W STM32 kaskadowo można łączyc liczniki programowo, w AVR sprzętowo....
Przekładniki z obciążeniem innym od nominalnego tracą dokładność. A chyba licznik energii miałeś robić. No napisałeś co zrobisz dla -10 A... Poza tym, to możesz - ogólnie to działać będzie. Jak dobrze to inna sprawa.
https://obrazki.elektroda.pl/3578004800_... „Blue Pill” to popularna płytka rozwojowa układem STM32. Jej popularność wynika z jej niskiego kosztu - zaczyna się od zaledwie 1,50 dolar - oraz z kompatybilności z Arduino IDE dzięki projektowi STM32duino. Powstało wiele ciekawych projektów, opierających się na tym module. Jednym...
(at)excray, (at)es2, w stm32 jest coś takiego jak rejestr powtórzeń licznika - więc zmienna / licznik stanu nie ma sensu ;) Dygresję nie na temat usunąłem.
Ja uważam że STMy stają się coraz głębiej wbitym gwoździem do trumny AVRów jeśli chodzi o amatorskie zastosowania. Generalnie to różnice bardzo duże jeśli chodzi o funkcjonalność i atrakcyjne ceny zwyczajnie deklasują AVRy. ZTCP to jeśli chodzi o płytki z atmelowskimi ARM vs STMowe ARM to te od ST wychodzą chyba taniej jeśli porównamy płytki o podobnych...
Proszę mnie nie odsyłać do dokumentacji, bo siedzę z nią już kilka godzin. Normalnie mi wstyd, ale nie potrafię uruchomić timera jako licznika zewnętrznych impulsów - w najprostszej konfiguracji. Nie wiem np. jak ustawić pin GPIO - jako AF dla np. TIM1_CH1??? Na razie mam coś takiego - pewnie powrzucałem masę zbędnych rzeczy a nie ma czegoś podstawowego,...
Hej, czy wie ktoś dlaczego tak się może dziać? Do licznika TIM2 podłączony jest zewnętrzny zegar. Liczy do ustawionego przepełnienia, potem liczy od zera i to jest ok, ale zaraz po tym jak chce go zresetować - w rejestrze CCR1 jest 0 i licznik przestaje liczyć. Do resetowania ustawiam na RCC_APB1RSTR na pierwszym bicie (to jest właśnie reset TIM2) czekam...
Witam, od paru dni ogarniam nową dla mnie architekturę ARM na bazie STM32103C8T6. Bawię się aktualnie licznikami, udało mi się jakoś skonfigurować pwm, ale mały problem pojawia się przy próbie skonfigurowania timera w tryb odpowiadający CTC z AVRek. Chodzi o zerowanie licznika po zrównaniu (Compare) tak, żebym mógł sterować częstotliwością. Ale coś...
Dzień dobry, W projekcie wykorzystuję silnik krokowy z zabudowanym na wale silnika enkoderem inkrementalnym różnicowym o rozdzielczości 16 384 imp/obr. Wykorzystuję płytkę NUCLEO-64, STM32L476RG. Ustawienia Timerów: https://obrazki.elektroda.pl/7295044200_... https://obrazki.elektroda.pl/6348434400_... Do timera3 mam...
Witam. Dla ćwiczebności napisałem sobie funkcję zwracającą ilość cykli zegara w celu pomiaru długości wykonywania funkcji itp. Aby to osiągnąć odczytuję "PENDSTSET" oraz stan licznika SysTick. Jednak pomiędzy tymi dwoma odczytami upływa trochę czasu i wartość licznika jestem w stanie skorygować znając czas jaki upłynął miedzy tymi dwoma instrukcjami...
Witam, jestem początkującym w dziedzinie programowania STM32. Posiadam zestaw STM32 Discovery F407. Po dwóch dniach walki udało mi się skonfigurować Tim8 do pracy z enkoderem obrotowym. Jest to enkoder mechaniczny posiadający 32 pozycje na obrót. Oto mój kod: [syntax=c] void Encoderinit(void) { RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GP... ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_TI...
STM32CubeIde STM32L552CCT6 Timer2 w trybie encoder mode Konfiguracja Timera [syntax=c] static void MX_TIM2_Init(void) { /* USER CODE BEGIN TIM2_Init 0 */ /* USER CODE END TIM2_Init 0 */ TIM_Encoder_InitTypeDef sConfig = {0}; TIM_MasterConfigTypeDef sMasterConfig = {0}; /* USER CODE BEGIN TIM2_Init 1 */ /* USER CODE END TIM2_Init 1 */ htim2.Instance...
GND i GND_I to nie to samo podobnie jak Vcc i +5V. Ok, masz rację. To popraw schemat i wyprowadź te napięcia na listwę od strony MCU. Bo tak można przez nieuwagę je zostawić niepodłączone. Cztery linie złącza J4 przyłączone są do ADuM1251, co tu poprawiać? Co jest nieczytelne? Co można pominąć przy podłączaniu? Możesz przez UART skonfigurować VID,...
Witam po skonfigurowaniu encoder interface mode zauwazylem ze po przepelnieniu , licznik nie resetuje sie przykladowo jezeli ustawie wartosc, do ktorej ma zliczac na 100 to po dojsciu do tej wartosci licznik nie resetuje sie (chyba powinien zliczac znowu od 0 do 100) inicjalizacja: [syntax=c]void initEncoder() { RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN;...
Zrób sobie jakaś sygnalizacje na pinie zgłoszeniowym, ledka czy coś będziesz wiedzial czy przerwanie przyszło czy nie. Albo jakiś licznik wejść w przerwanie. od czegoś trzeba zacząć zobaczyć po czyjej stronie jest wina.
Ojej, nie tykałem tego kodu od roku ale spróbuję sobie przypomnieć ;-) Licznik TIM3 jest wyzwalany zegarem SPI, w trybie One pulse mode, downcounting. Czyli zlicza jedną pętlę? Tak Kolejne takie samo zbocze zegara SPI, powoduje znów wyzwolenie licznika? Tak Zlicza w dół od rejestru ARR do zera, ( lub do wartości rejestru CNT)? Do zera. Jedziemy, Pierwszy...
OLED mi się marzy bo można duzo danych upchnąć na jednym wyświetlaczu Tyle, że nie ma OLED o proporcjach 15:1. TFT o takich nietypowych proporcjach są https://www.unisystem.pl/pl/products/lcd... ale maja wejście VGA/HDMI a dokładanie np RPi tylko po to aby podłączyć wyświetlacz jest chyba nie za bardzo dobrym pomysłem....
Witam I zaczęło się .... Mam taki problem Robię w stm32 tcpClient łączę się z PC [syntax=cpp]conn = netconn_new(NETCONN_TCP); err= netconn_connect(conn, &addr, 11001); for(;;) { ++Dev2PcState.counter; err= netconn_write(conn, &Dev2PcState, sizeof(Dev2PcState), NETCONN_COPY); vTaskDelay(500); }[/syntax] ten licznik zwiększam co 0,5 sekundy. W PC odbieram...
Jestem w trakcie projektowania/testowania urządzenia które w uproszczonym schemacie ma wysyłać sygnał ( zapalać diodę ) po określonej w programie liczbie przerwań. Tarcza kodowa średnicy 55mm zrobiona z blaszki nierdzewnej 1mm posiada 10 rowków o szerokości 1mm oddalonych od siebie również o 1mm ( zdjęcie poniżej ) https://obrazki.elektroda.pl/9629815600_...
Kolejny projekt robiony by na siłę udowodnić dlaczego Stm32 jest lepszy niż avr Tak samo twierdzisz w przypadku projektów: Dodano po 1 Tak wiem, SO8 są fajne, ale TSSOPxx/QFNxx/... mają podobne wymiary i jest większy wybór. Nie widzę powodu upierać się na tą obudowę. Ja widzę. Chodzi o montaż. Ta bateria nie nadaje się do takich prądów. Z pewnością....
Witam, Ostatnio zacząłem przechodzić na mikrokontrolery STM32 i testowałem program zawarty poniżej. Licznik TIM2 zlicza w górę, drugi licznik generuje żądanie DMA od przepełnienia się licznika, wysyłając wartość licznika CNT TIM2 do tablicy, która jest inkrementowana. Powinienem otrzymać w tablicy wartości zwiększające się cyklicznie co tą samą wartość,...
Zapytam tu o inną jeszcze sprawę, bo nie chcę dla tego drobiazgu zakładać nowego tematu. Muszę ustawić timeout ramki, jezeli po odpowiednim czasie odbiornik nie odpowie, to transmisja zostaje przerwana z flagą błędu. Chcę do tego użyć timera, np.TIM4. Uruchomiony bedzie w najprostszej konfiguracji zwykłego licznika, ładowanego przed rozpoczeciem transmisji....
Poza tym event system - o ile SAM i XMEGA go mają to inne ARMy już zazwyczaj nie. Licznik w trybie IC nie potrzebuje Event System, ponieważ ma dedykowane piny ICx. ADC nie potrzebuje Event System, ponieważ konwersja, zarówno podstawowa jak i dodatkowa (injected) może być wyzwalana z 1 z 6 liczników (w tym jeszcze poszczególne moduły IC/OC) lub pinów...
dea jest taka, że należy skonfigurować Timer1 na FastPWM z rejestrem ICR1 jako Top (czyli licznik będzie liczył do wartości tego rejestru). Należy tak dobrać preskaler i wartość ICR1 by licznik przekręcał się co 20ms a więc np. preskaler 1024 i ICR1 15625 (a raczej 15624 bo licznik liczy od zera). Przy tych ustawieniach otrzymujemy granulację 1,3 µs/tick,...
Na wejściu częstościomierza jest układ formowania impulsu/wzmacniacz i dzielnik przez 16. Sygnał po podzieleniu jest podawany na wejście zliczające jednego z timerów w STM32 i co sekundę pobierana jest liczba zliczonych impulsów, następnie licznik jest zerowany. STM32 jest taktowany zwykłym kwarcem więc na stratę informacji związaną z obecnością dzielnika...
Witam! Tworzę projekt, który polegać ma na bezprzewodowym połączeniu STM32F303 Discovery i HC-05 z ELM327 (wersja bluetooth). Jestem bardzo początkujący, jeśli chodzi o programowanie a zależy mi na tym projekcie, dlatego postanowiłem zwrócić się o pomoc. Korzystam z STM32CubeMX oraz Eclipse z wbudowanym rozszerzeniem „System Workbench for STM32”....
Masz racje a ja się myliłem - mój błąd. Przepraszam. Zasugerowałem się czymś innym a potem brnąłem w PWM. Luz. Nie no obciach ale właśnie przeglądam Rudy van der Plassche i myślami byłem przy delta sigma (4 rzędu na 4 bitowym PWM)... a trzeci PWMa 2MHz będzie dawał do próbek co mają 8kHz twierdząc że to absolutne minimum. A tego nie rozumiem. Jeśli...
Ale taki Z-80 zwykle miał podpięte dużo więcej RAMu, a tutaj mamy 2019 rok i nadal 2kB... Jak już budować coś takiego to na STM32. Są w podobnych cenach a wymieniać ich zalety na AVRami można w nieskończoność... 45$ za AVRa i to nawet nie XMEGA... Śmiech na sali... Ostatnio popularne są płytki z STM32 zwane "Blue Pill". 2$ na ali (wysyłka darmowa),...
Pytanie jak zrobić, aby przycisk resetował licznik do zera i odliczał od nowa. Wystarczy w funkcji "pod przyciskiem" przeładować rejestry: Pytanie czy jeżeli brama zostanie otwarta z innego źródła niż przycisk a licznik się przepełni to jak uniknąć jej samoczynnego zamknięcia? Najprościej chyba uruchomić TIM1 w funkcji "pod przyciskiem" i zatrzymać...
No a zdradź mi tajemnice dlaczego to mają być przerwania a nie callback-i. Nigdy nie pisałem funkcji z callback-iem, nie miałem jeszcze takiej potrzeby. Tak ogólnie chodzi o to by stworzyć licznik 50Hz, zmienną, którą będę inkrementował, i stworzyć event, który co 50 przerwań (tj 1Hz) wywoła mi callback? Jeżeli chcesz funkcje A wolac co każde przerwanie...
Witam, Wklejam działający kod. Sugeruję zerować licznik a nie konfigurować go od nowa w całości, lepiej zrobić to wcześniej, a zerowanie można osobno wykorzystywać gdzieś w kodzie później. Abstrahując od bibliotek których nie ogarniam: [syntax=c]while((RTC->CRL & 0x8) == 0); //Czekam aż rejestry RTC_CNT, RTC_ALR lub RTC_PRL będą zsynchronizowane....
Witajcie, Sprawdziłem pamięć i jest coś w niej zapisane od adresu 0x08000000. Piny BOOT0 oraz BOOT1 mam ustawione na stan niski. Tak jak pisałem wcześniej jak wgram program, komendy: monitor reset monitor soft_reset_halt load To wszystko jest ok. W chwili gdy pomijam komendę load lub odłączam zasilanie od procesora to mi program nie uruchamia się. Licznik...
Nie znam tych bibliotek wiec nie potrafię stwierdzić co masz nie tak w kodzie programu. Kod inicjalizujący działanie Enkodera podłączonego do Timera 4. [syntax=c] // Licznik zlicza impusly z enkodera TIM4->ARR = 4096; // wartosc rejestru autoreload (maks wartosc) TIM4->CCMR1 = TIM_CCMR1_CC2S_0 |TIM_CCMR1_CC1S_0 ; //TI2 mapped to IC2 TI1 mapped to IC1...
No ale nie musisz go ustawiać od nowa (po zakończeniu transferu wszystkie parametry są przecież niezmienione, nawet licznik powraca chyba do starej wartości) - chodzi tylko o ponowne ustawienie bitu EN, a jeśli samo wpisanie tam jedynki nic nie daje, to wyzeruj tylko ten jeden rejestr i następnie ustaw w nim potrzebne bity - to są max 2 linijki, a raczej...
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...
Ważne żeby debugger miał. To jest dokładnie to co w liku z #22. ST-Libnk V2. Programator/debuger SMT32 i ST8. na przykład STM32 a to juz mikroprocesory Mikroprocesor (CPU) ma ALU, licznik rozkazów itd. Mikroprocesorem jest Z-80, 680x0, 6502, 8080, 4004, ARM Cortex-Axx . Mikrokontroler, poza CPU zawiera układy peryferyjne, np IO, timery, UART. Może...
To akurat jest dla mnie w miarę oczywiste, bo podobny program robiłem już na AVR. Natomiast z STM32 nie chciałem się zagłębiać właśnie w konfiguracje zegarów - stąd pytanie o jakiś gotowy projekt, który można by tylko dostroić do potrzeb. Wygląda na to, że jednak będzie trzeba napisać samemu od zera. Przeglądałem opis procesora z F4 i doszedłem do wniosku,...
stm32 flaga licznik stm32 przerwać licznik konfiguracja licznik stm32
newcamd klient sterowanie radiowe roletami zamel siemens usterki
resetowanie baterii kabel monitoring
Lekkie tarcie bębna w pralce Bosch - przyczyny i diagnoza Jak zresetować nawigację SmartGPS SG 720?