W dziale mikrokontrolery ARM znajdziecie bezpłatny (do osobistego użytku edukacyjnego) poradnik STM32 przygotowany przez szczywronek . Materiał dostępny jest w temacie: techekspert: Do kogo kierowany jest poradnik, jakie podstawy powinien mieć opanowane czytelnik? Czy znajomość określonej rodziny...
Cześć Próbuję stworzyć komunikację z diodami WS2812 za pomocą licznika i DMA. Licznik ma mi generować PWM o wypełnieniu pobieranym z tablicy. Wypełnienie to ma być przesyłane przez DMA w momencie osiągnięcia wartości maksymalnej licznika. Sam licznik działa prawidłowo i generuje PWM wpisany...
Witam, Realizuję pracę inżynierską na zestawie uruchomieniowym ZL27ARM z mikrokontrolerem STM32. Praca jest w zasadzie gotowa, ale niestety nie działa do końca poprawnie. Praca jest tworzona głównie w oparciu o książkę STM32 Aplikacje i ćwiczenia w języku C. Środowiskiem programistycznym wykorzystywanym...
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)...
Witam, mam problem z zawieszaniem się freeRTOSa. Program grzęźnie w funkcji vListInsert void vTaskUSART3(void * pvParameters) { portCHAR i; vSemaphoreCreateBinary( xSemaphore_US3_O ); xSemaphoreTake( xSemaphore_US3_O, 0); xQueue3_TX = xQueueCreate( 32,...
Witam, chcę podłączyć termometr ds18b20 do mojego STM'a. Wzorując się na przykładzie pod AVR'a chciałem napisać swoją bibliotekę obsługującą one-wire. Niestety po załadowaniu programu w zmiennych, w których powinna być temperatura znajdują się same jedynki. Może ktoś wie co może być przyczyną? Opóźnienia...
Cześć, Nie jestem pewien czy mój problem ma podłoże hardwarowe czy może softwarowe, ale skłaniam się bardziej do tej drugiej opcji. Problem wygląda tak próbuję przerobić przykład custom_HID do swoich potrzeb niestety napotkałem na problem, który właściwie uniemożliwia mi pracę z tym interfejsem....
witam, mam podobny problem, nie wiem co robię źle, chcę zapalić diodę podłączoną do PB0 za pomocą przerwania od przycisku podłączonego do PC7 lub 8. po wgraniu kodu przerwanie od SYSTICK ładnie działa, zapala i gasi na zmianę diodę na PB1, natomiast dioda na PB0 swieci się cały czas i nie ma żadnej...
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...
Problem dotyczy wykorzystania wejścia licznika w trybie Input Capture wraz z DMA. Celem jest pomiar częstotliwości sygnału i jego wypełnienia. Na samym początku dodam, że jest jedno ograniczenie, które związane jest z wykorzystaniem pojedynczego wejścia licznika. Oczywiście, można skonfigurować tryb...
Mam nastepujacy problem, probuje wywolac przerwanie zewnetrzne od przycisku ktore uruchomi mi licznik w celu eliminacji drgan stykow. Wszystko dziala dla przycisku podpietego do wyprowadzenia A0 ale dla przycisku podpietego do wyprowadzenia C13 juz nie dziala. Przy debagowaniu widze ze ciagle wchodzi...
Dziękuję za taki odzew zrobiłem jak radziliście i nie pomogło : (. Więc ze przerobię też inicjalizację SPI na nie biblioteczną i nie pomogło : (. Później sprawdziłem rejestr który zapisuję (CTRL_REG1- opowiedziany za włączenie żyroskopu) okazało się że tu też pojedynczy zapis nie wystarcza dopiero za...
Witam, Oto wszystko poniżej wg dokumentacji , ale nie działa. W symulacji nie następuje zmiana stanu kanału 4 mimo, że licznik odlicza. Taktowania oraz GPIO oczywiście ok . W czym może tkwić problem? TIM1->CR1=0xA0; //ARPE, CMS=01 TIM1->CCMR2=13<<11; //OC4M=110(PWM...
Robię program składający się głównie z przerwań. Program steruje 6 silnikami krokowymi. Uruchomiłem więc 6 timerów dla kazdego silnika w trybie PWM, wypełnienie zawsze 50%, sterowanie częstotliwością. Żeby każdy silnik mógł wykonać zadaną ilość kroków (a zalezności miedzy silnikami są skomplikowane i...
są jakieś praktyczne przypadki wykorzystywania zdarzeń? Pytam ogólnie w całej rodzinie stm32. Tak w praktyce to zdarzeń nie ustawia się wcale. BlueDraco, a np. zdarzenie od zmiany stanu pinu ? Zdarzenie od przepełnienia licznika i zmiany stanu pinu ja osobiście dość często wykorzystuję. Co...
(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.
Napisałem delay oparty o timer konfiguracja TIM1: void TimerConfig() { RCC_APB2... ENABLE); TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_TimeBaseS...
1/ nadużywanie ustawiania bitów "|=". Nigdzie nie ma odpowiadającego wstępnego kasowania bitów, które są ustawiane, więc z góry zakładam, że ten kod może być zawodny. Najlepszym rozwiązaniem jest pojedyncze wpisanie do rejestru jednej wartości zawierającej żądane ustawienia wszystkich pól. 2/ [syntax=C]TIM1->PSC...
Masz to zupełnie źle rozwiązane. Oczekiwanie w przerwaniu to jest kardynalny błąd! Jeśli chcesz to tak zrobić, to powinieneś mieć bufor z możliwością sprawdzenia ile jeszcze zostało do wysłania - np licznik pozostalych znaków. W przerwaniu sprawdzasz licznik - jeśli większy od zera, to zmniejszasz,...
Przyłącze się do tematu- nie łatwiej wykorzystać przerwanie od przepełnienia timera? Ponizej przyklad realizacji 32 bitowego licznika dla enkodera: // Inicjalizacja timera void TimEncInit(void) { TIM_ITConfig(TIM2, TIM_IT_Update,...
Problem polega na tym, że potrzebuję 2 liczników do zliczania impulsów z 2 źródeł, a te źródła to piny PB6 i PB7, czyli jak wskazuje nota katalogowa uC odpowiednio kanały 1 i 2 timera TIM4: Myślałem, że jak są 2 kanały to każdy z nich może być źródłem sygnału taktującego i każdy kanał może zliczać...
Wydaje mi się, że najłatwiej będzie rozwiązać to w obsłudze przerwania jednego z timerów. I przychodzą mi do głowy dwie możliwości: 1. Zmienianie parametrów pracy timera po każdym "trybie" przebiegu jaki ma być wygenerowany na wyjściu. Tj. przeładowywanie liczby do jakiej licznik powinien odliczyć...
Witam, otóż zasilam owy wyświetlacz napięciem ±3.3V, a także stany logiczne są na tym poziomie. Pin kontrastu jest podpięty bezpośrednio do masy, kontrast wizualnie wydaje się być dobrany idealnie. I problem w tym, że pixele bardzo wolno się zapalają.(wyszło mi ok. ~300ms na pełne zaświecenie...
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ęć (;
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. „Przeglądając...
„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...
Jeszcze chwila a przepełni Ci się licznik pomógł! Pamiętasz co napisałem o sprawach będących dla Ciebie tak oczywiste jak oddychanie? Wspomniałeś o możliwości grzebania w cfg i proszę-pomogła zmiana adresu lpt w pliku cfg. Teraz mam juz coś takiego-może parę słów komentaża, żebym mógł zacząć poszukiwania...
Witam, Zacząłem niedawno zabawę z STM32 i mam problem z przerwaniami oraz timerami. Chciałem uruchomić przerwanie zewnętrzne, a dalej przerwanie od timera co np 1sek. Jednak nie działa ani jedno ani drugie, czy ktoś mógłby nakierować mnie na dobrą drogę i powiedzieć co robię źle? Przeglądałem...
Próbowałem już w opisany przez Ciebie sposób, zero reakcji, żeby program wyszedł z pętli while pomagało tylko zwarcie rezystorem 1k do GND, czyli ręcznie wymuszony pull low. Datasheet DS18x20 znam już na pamięć :( funkcja opóźniająca: [syntax=c] volatile int delayFlag; void delayTimerConfig(){ RCC_APB2PeriphCl...
Dla licznika TIM1 trzeba dodatkowo dodać polecenie: [syntax=c]TIM_CtrlPWMOutputs... ENABLE);[/syntax] Ustawia ono bit MOE w rejestrze BDTR, polecenie dotyczy liczników 1, 8, 15, 16 i 17 .
Mimo wszystko nie działa. Jak linijke RCC->APB2ENR|= RCC_APB2ENR_TIM1EN dodam gdzieś poniżej pierwszego odwołania do rejestrów TIMERA1 to diody nie zapalają się w żadnej kombinacji, wtedy chyba nie wchodzi do przerwania w ogóle. edit: [syntax=c]#include "stm32f10x.h" void TIM1_UP_TIM16_IRQHandler(void) { ...
Z tego co mi się wydaje przed odczytaniem wartości z licznika należałoby sprawdzić flagi które mówią o tym czy w liczniku cokolwiek sensownego się znajduje... 4\/3!!
Witam! Posiadam moduł wyświetlacza LCD 3.2", prawdopodobnie na sterowniku SSD1289 (sprzedawca twierdził, że na HX8347-A, jednak dopiero metoda inicjalizacji do SSD1289 zadziałała). Próbuję nim sterować przy pomocy mikrokontrolera STM32F103RBT6. Wszystko zdaje się działać dobrze, do czasu gdy chcę wyświetlić...
Witam, mam pewien błahy problem, ale nie mogę sobie z nim poradzić. Chciałbym ustawić numer portu w zależności od jakiejś zmiennej, a nie na sztywno np.: Zamiast ustawić: [syntax=c]GPIO_SetBits(GPIOB ,GPIO_Pin_12);[/syntax] Chciałbym ustawić: [syntax=c]int licznik=12; GPIO_SetBits(GPIOB ,GPIO_Pin_licznik);[/syntax] Niestety...
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_AHB1Perip...
Witam, mam problem z obsługą timera w STM32f103ZET6 na płycie ewaluacyjnej HY RedBul v3.0. Problem polega na opóźnionym zapłonie jednej z funkcji. Realizuje to na przykładzie samozamykającej się bramy po 15 sekundach, tak aby nie zatrzymać całego programu. Generalnie udało mi się skonfigurować przerwania...
(at)BlueDraco hmm przerwania owszem i ich wielopoziomowosc jest przydatna ale tez nalezy pamietac ze rdzen ARM7TDMI ma niestety tez sporo gorzej rozwiazane niz Cortex-y... a male procesory to tez nie sa ;) Jednak nie o tym mialo byc... W sumie nie zawsze petla glowna jest zlym rozwiazaniem,...
Bawiłem się ostatnio trybem Encoder Interface Mode w mikrokontrolerze stm32f4. Wykorzystuję do tego 32 bitowy TIMER2. Problem zaczyna się jak chcę wartość z licznika zwrócić w funkcji. Tak to mniej więcej wygląda: [syntax=c] int32_t getEncoder(void) { retrurn TIM_GetCounter (ENCR_TIMER) ; } [/syntax] Po...
Zrobiłem teraz oczekiwanie na timerze 6 tą przerwę (1 sek) ale nic nie pomaga: Dodano po 38 Porównałem rejestry CR przed wywołaniem kalibracji w moim i przykładowym programie. Różnica polega na tym, że u mnie włączony jest bit ADstart a w przykładzie jest wyłączony. Skąd się bierze ta różnica?
Witam, Mam problemy z poprawną pracą LCD na PCD8544. Jest to wersja na niebieskim PCB z Aliexp... Fragment kodu:[syntax=c] system_init(); // reset LCD //konfiguracja LCD LCD_DC=0; // 0-przesyłanie komend SPI_cmd(0x21); // rozszerzone rozkazy LCD. SPI_cmd(0xC5); // ustawienie LCD Vop...
Dzięki, sprawdzę kod. No nie zadziała, bo 107 nie ma kalendarza. Z drugiej strony F0 nie maja licznika, za to maja kalendarz. Brałem pod uwagę użycie funkcji konwersji czasu używanej przy obsłudze NTP (przeliczanie sekund na datę/czas i na odwrót) ale każda pomoc się przyda. Ot, załaduj unix-timestamp...
Jak wyżej. Jest to nie wykonalne na STM32. Aby spełnić Twoje warunki to licznik musiał by się zwiększać z częstotliwością (2,7*10^6 * 100 / 5)=540MHz - zakładając że chcesz uzyskać rozdzielczość co 5%. Po co Ci PWM o takiej częstotliwości?
Ale wciąż czekam na opinie! kogoś kto zrobil coś duzego na tych bibliotekach! Ale co według Ciebie znaczy "duże"? Ja robiłem może nie coś ogromnego w sensie objętości we Flashu, ale ze skomplikowanymi zależnościami czasowymi na STM32F103VD/VE. Używałem przerwań i robiłem rekonfigurację różnych...
W tym momencie wypłynęło mi coś zupełnie innego. Sprawa dotyka USART i modułu BTM222 (kamodBTM222). Nie mam pojęcia, dlaczego nie mogę wykonać tak prostej czynności, jak zmiana nazwy komendą ATN. Korzystam z przykładu zamieszczonego na . W tym momencie zrezygnowałem z przerwań i komendę AT (ATN=BT...
Prawda, z 32 bitowym licznikiem działa prawidłowo. Dzięki za pomoc ! p.s. jeszcze jeden szczegół mnie zastanawia: Te statystyki są wyliczone z przedziału czasu od poprzedniego pobrania statystyk ? czy to znaczy, że dostaniemy bardziej dokładne statystyki jeśli będziemy rzadziej je pobierać ? a max...
Zwracam się do kolegów z taką sprawą. Nie mogę sobie poradzić z bezproblemowym uruchomieniem FreeRTOS + lwip na STM32. Przy kompilacji wywala mi: out/tcp.o: In function `tcp_close_shutdown': C:\ARM\Wo... undefined reference to `tcp_timer_needed' out/tcp.o:...
Witam. Posiadam sensor ultradźwięków US015, który jest podobny do HCSR04. Chciałbym go obsługiwać przy pomocy mikrokontrolera STM32F429. W internecie znalazłem kawałek kodu, odpowiedzialnego za jego obsługę. Do jego obsługi wykorzystywane są 2 timery - timer7 jest odpowiedzialny za generację impulsu...
Robię mierzenie częstotliwości za pomocą STM32. TIM1 ustawiony mam na taktowanie z zewnątrz przez TI2 (CCR2, TI2FP2). Co pewien okres (100ms) w innym liczniku, w przerwaniu odczytuję CCR2 żeby odczytać liczbę impulsów, zresetować i tak dalej. Wszystko ok, ale w przerwaniu innego timera, nie mogę zresetować...
Witam Proszę o pomoc w rozwiązaniu problemu. robię projekt silnika prądu stałego z enkoderem na STM32 podpiąłem wyprowadzenia : -PA6 Enkoder CHA Wejście pływające (TIM3_CH1) -PA7 Enkoder CHB Wejście pływające (TIM3_CH2) i nie wiem jak ruszyć dalej by wyświetlać odczyt prędkości na wyświetlaczu...
0. Jaki dokładnie STM32? Jest ich kilka tysięcy i mają trochę różne peryferia, łącznie z licznikami i DMA. 1. Dlaczego akurat wybrałeś DMA1_Ch5. Z tego co się orientuję, nie ma żadnego połączenia między TIM1 i DMA1, ponieważ TIM1 może być obsługiwany przez DMA2. Nawet wtedy, w grę wchodzą kanały 0 i...
Cześć Od razu nadmienię, że jestem w tym początkujący. Posiadam mikrokontroler STM32F100C4T6B oraz moduł GY-50 L3G4200D. Próbuję nawiązać połączenie za pomocą interfejsu I2C i wyświetlić informację na komputerze kominukując się po UART, który na pewno działa. Jeżeli chodzi o połączenie to jestem...
Niby proste, ale jak ma się mało do czynienia z STM32 to zaczyna byc jednak mylące Mam takich parę pytań bo sie lekko zamieszałem, a nie do końca wiem gdzie to może być napisane? 1. Które z przerwań, wyjątków są związane z rdzeniem, a które za tzw. zewnętrzne? 2. Które przerwania "przechodzą" przez...
Okrój funkcje - na Arduino USB raczej nie zrobisz bez drogiej przystawki (chyba, że zmienisz platformę na jakiś STM32 typu Nucleo), za to resztę to musisz kupić jakiś tani LCD, moduł BT na serial. Wymontowywanie części z telefonów etc. mija się z celem, bo drożej wyjdzie rozpracowanie interfejsów / pozyskanie...
może popatrz na to: Nie mam doświadczenia z STM32. Moja odpowiedź raczej dotyczyła licznika 4-bitowego.
Witam, Timery w tych prockach mają tyle opcji, że się w tym wszystkim pogubiłem. Jak można wygenerować na jakimś wyjściu przebieg prostokątny o programowo określonej częstotliwości? Pewnie będzie to tryb Compare z zerowaniem rejestru licznika i zmiany wyjścia na stan przeciwny. Nie mam jednak pojęcia...
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...
Witam Niedawno zacząłem "zabawę" z zestawem Kamami ZL27ARM z procesorem STM32F103VB. Mam problem z przerwaniem od timera SysTick. Jest ono generowane 4 razy za często - miało być 1 raz na sekundę, a jest 4. Kwarc 8MHz, SYSCLK = 72MHz, SysTick_CLK= 72/8=9MHz czyli załądowanie do licznika wartości...
Tyle że timer może wysyłać tylko JEDNO żądanie do DMA, więc... nie da się (tym sposobem). No ale chyba właśnie o to chodzi. Następuje zdarzenie od kanału timera, DMA przesyła JEDNĄ nową wartość do CCR tego kanału, przy której osiągnięciu przez licznik timera nastąpi nowe zdarzenie i tak w kółko....
Mogę się mylić, ale w tym przykładzie kolega miga diodką wykorzystując GPIO a nie podpinając do wyjścia timera, więc gpio out pp może chyba być. Czy kol. qczek przypadkiem na koniec nie konfigurujesz ch1 w tim2 jako capture, czyli "łapiącego" i liczącego impulsy z zewnątrz? TIM_SetCompare1(TIM2,...
E tam, nie jest wcale tak źle. Przy timerach akurat nie ma problemu, bo w manualu do każdego "typu" konfiguracji (licznik, PWM, input capture, ...) jest opis jak krok po kroku to skonfigurować. Zresztą - wystarczy napisać swoją bibliotekę, wtedy przynajmniej działa sensownie (rozmiar i prędkość) i...
zostanie wysłana po i2c cała paczka danych, czy może się zdarzyć, że zostanie wysłany kawałek starej tablicy i kawałek nowej ? (w trakcie wysyłania zostaną już nadpisane dane) Czy jednak trzeba sobie jakoś samemu zapewnić to, żeby takie "zbiory" były wysyłane jako całość ? W czasie przesyłania przez...
Witam wszystkich. Jestem w trakcie budowy prostego tachometru opartego o uC stm32f103vet6. Do pomiaru prędkości mają służyć 3 timery TIM 2,3,4. Mają one zliczać impulsy z czujników optycznych z jednostce czasu. Jak narazie uruchomiłem 2 timery 2 i 3. I tu natrafiłem na dwa problemy. Po pierwsze nie...
memcpy nie ma prawa blokować jakiegokolwiek timera. To jest zwykła funkcja biblioteczna, i na pewno nie sprawdza ktory akurat timer masz włączony i również nie ma kodu aby go wyłączyć. Memcpy jest najpewniej napisany w assemblerze i został odpowiednio zoptymalizowany. Kopiowanie duzej tablicy...
Zamierzam wykorzystać to bardziej do nauki podstaw niż jakiegoś konkretnego projektu. Dlatego zdecydowałem się na zestaw Discovery, nie wiem tylko z jakim procesorem. Na początek takie podstawy jak zabawa diodami, wyświetlaczem 7-segmentowym, LCD. Chodzi o dokładnie opanowanie podstaw (porty, liczniki,...
Zgadzam się z tobą. Jeśli chce się poznać procek to lepiej operować na rejestrach, a niżeli na bibliotekach. Chociaż by ze względu na optymalność rozwiązań. Natomiast nigdzie nie znalazłem porządnej dokumentacji do STM32. Nawet Reference Manual jest jak dla mnie słabym źródłem. W porównaniu do dokumentacji...
Widzisz gdzieś w kodzie wyłączanie HSION? Bo ja nie... A boli cię że HSION jest włączony? Jeśli tak, to go wyłącz ;] Czymże jest "jakiś licznik"? Co ty z nim masz zmiar robić i do czego go używać? Od pomiaru czasów wykonywania kodu jest timer w procesorze. Poza tym, co ci po liczniku, skoro pierwsze...
Jak wspominałem komunikacja przebiega prawidłowo, wysyłałem daną wartość i następnie sprawdzałem czy dostałem to co chcę i tak właśnie było. Wykonałem również to co napisałeś i wyniki potwierdziły się. Problemem jest zmiana częstotliwości 3 kanałów jednocześnie, gdy otrzymam nowe prędkości nadpisuję...
Jedyną słuszną metodą jest zrobienie maszyny stanów na timerze. Najprościej będzie Ci odpalić SysTicka np na 1 ms i do tego podpiąć licznik.
Zamień te cyferki na odpowiednie makra z nagłówków, bo nie sądzę aby komukolwiek chciało się bawić w sprawdzanie który bit od czego jest. Kanały DMA trzeba włączyć bitem EN, a jak licznik zjedzie do zera, to one się wyłączają. Poniżej przykładowy konfig dla SPI i działania z przerwaniami: [syntax=C] //SPI2_RX...
To mój pierwszy post na tym forum, więc witam wszystkich użytkowników. Od jakiegoś tygodnia bawię się ARMami, używam płytki ZL31ARM z prockiem STM32F103RBT6. Po kilku próbach zdałem sobie sprawę, że standardowa biblioteka ST to jakieś nieporozumienie i zacząłem pisać programy po prostu operując na...
Z drugiej strony tez nie mogę mieć przerwań z trzech timerow z częstotliwością 20-30kHz Niby czemu nie? Przy 30kHz masz na jeden cykl timera 2400 instrukcji, 3 timery, czyli 800 instrukcji między przerwaniami, a kod samego przerwania generalnie będzie zajmował 3 linijki... Gdybyś używał timera 1 albo...
1. Przeczytaj dokładnie w manualu co robi ten bit. Kilka stron wcześniej masz obrazki które doskonale pokazują po co on jest. On tylko włącza bądź wyłącza buforowanie, a nie przeładowywanie czegokolwiek. 2. Rejestr ten w Twoim przypadku nie ma wpływu na częstotliwość, bo jego wartość ustawiona jest...
Dla przykładu: EOC: End of conversion This bit is set by hardware at the end of a group channel conversion (regular or injected). It is cleared by software or by reading the ADC_DR . Sprawdź czy Twój program w pętlach w ogóle oczekuje na to zakończenie konwersji (dodaj tam jakiś licznik i...
Ok po kolei bo widać trochę zamieszałem. Zarówno w kofiguracji O0, O1, O2, Os występuje ten sam problem. Wchodzi cały czas do funkcji obsługi przerwań. Hard fault przestał występować po aktualizacji biblioteki core_cm3.h i c. Moje inicjalizacje wyglądają następująco: dokładnie na odwrót...
Zasilam enkoder z 3.3V, nie tak jak rekomendują między 4,5-5,5V. Nie chciałem aby sygnał z enkodera był większy od V zasilania mikrokontrolera, żeby nic nie upalić. Czytałem w Data Sheecie że jest coś o 'five-volt tolerant' port/pin ale nie mogłem zrozumieć dokładnie o co chodzi. Spokojnie możesz...
Mam dość dziwny problem. W procesorze STM32F100RB mam uruchomione 6 timerów. Mają one sterować silnikami krokowymi. Silniki już mają sterowniki, posyła im sie tylko czestotliwość proporcjonalną do prędkości obrotowej i bit kierunku obrotów. Są to dość duże silniki, a całe urządzenie wymaga miękkiego...
Mam funkcję wyświetlającą tekst (lub oczywiscie pojedyńcze znaki). Chcę ją użyć w pętli do wyświetlania kolejnych cyfr. Funkcję wywołuje się tak: [syntax=c] GUI_TextBig(25, 43, "1", White, Blue5, landscape); [/syntax] Gdzie podaje się pozycje, kolor znaku, tła, połozenie pionowe/poziome......
Nie wiem w jaki sposób ten wzór mógłby cokolwiek zmieniać w kwestii zaokrągleń - wartość liczbowa USARTDIV odpowiada rzeczywistemu dzielnikowi pomnożonemu przez 16, przed całym wyrażeniem jest drugie "*16" więc całość pięknie się skraca i tyle... Jeśli ktoś chce zaokrąglać "prawidłowo" (a nie "w dół"...
oto kod który przekształci timestampa na datę, oczywiście można sobie te pola zrobić jako strukturę czy jak kto woli, ja tylko daje gotowy algorytm z którego korzystałem podczas obsługi tego śmiesznego RTC w stm32f1 :D [syntax=c] #include<stdio.h>... czyPrzestepny(int rok) { if (rok...
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...
Może być:) Ale rzeczywiscie niektóre informacje mogły by być nie tak ukrywane. W RM0008 przy opisie TIM2 to TIM5 - Prescaler description - ani słowa, przy opisie rejestrów TIMx_PSC - też ani słowa, jeżeli chodzi o obrazek Clock Tree to chyba nie ma go w RM0008, jest w manualach konkretnych procesorów,...
Zgadnij gdzie znajdziesz odpowiedź na swoje pytanie... 4\/3!! Tak, że Fredie - moja odpowiedź powinna brzmieć "Elektroda", no cóż :). Udało mi się uruchomić w reszcie takie zliczanie timera pomiędzy zboczami. Jak to się mówi - dla potomnych lub dla punktów podzielę się moimi wypocinami. A...
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...
jak masz bitmape gdzieś z obrazkiem to nie możesz poprostu wyświetlać po kolei każdego z pixela z bitmapy w odpowiedniej kolejności i licznik pikseli inkrementować o 1? coś w stylu: [syntax=c] void LCD_set_picture(short unsigned int *p,u16 x1, u16 x2, u16 y1, u16 y2) { unsigned long n=0; int...
Witam, Mam problem z konfiguracją licznika do pomiaru czasu trwania sygnału na wejściu PA1. Generalnie chcę to rozwiązać w następujący sposób: w momencie wykrycia zbocza narastającego lub opadającego wywołuję przerwanie EXTI1. W obsłudze przerwania EXTI1_IRQHandler, sprawdzam stan portu PA1 jeśli...
Witam, mam problem z poprawną konfiguracją modułu Bluetooth. Chodzi o to, że na przetwornik ADC wyzwalany timer1 podaje sygnał z GPIOB i chcę próbkować go wg ustawień timera z częstotliwością co najmniej 500Hz. Dane pobierane są z rejestru ADC przez DMA do zadeklarowanego wcześniej buforADC (unsigned...
Witam. Starając się uruchomić Systick'a natrafiłem na szereg błędów: Description Resource Path Location Type ... of 'SysTick_Handler' main.c /Startowy line 94 C/C++ Problem cs-make: *** [out/main.o] Error 1 Startowy C/C++ Problem previous definition of 'SysTick_Handler'...
Dzięki za radę, pomyślę nad jakimś zabezpieczeniem :) Niestety, nie pomogę Ci tym razem w Twoim bezpośrednim problemie, już nie mam głowy do tego - właśnie się pakuję na narty Udanego wyjazdu :D Wracając do mojego Timera! Coś ruszyło, za namową BlueDraco skonfigurowałem Compare 1 korzystając...
A co to jest ? [syntax=c] SysTick_Config(SysTick_FREQ/1); [/synta... to 24 bitowy licznik, SysTick_Config służy do zaprogramowania wartości od której odlicza on w dół, po przejściu zero generowane jest przerwanie i SysTick odlicza znowu od wartości wcześniej zaprogramowanej u ciebie jest...
Podejrzewam funkcję delay ale miło by było jakbyście rzucili wzrokiem. Słusznie podejrzewasz. Jak podejrzysz sobie assemblera, to na 99% ta funkcja zostanie wywalona, bo te liczniki (wystarczy jeden) które tam masz nie mają cudownego modyfikatora na "fał". 4\/3!!
Podałeś przykład z mnożeniem niedostosowanych do FFP liczb, to ja podam kontrprzykład: for(float i=0;i<10;i+=0.00000001); Zadziała z float? Oczywiście nie. O czym to świadczy? Wyłącznie o tym, że programując trzeba myśleć. Rozwiązanie problemu który przedstawiłeś zajmuje jakieś 3 sekundy -...
Bardzo serdecznie dziękuję wszystkim Kolegom za zaangażowanie i okazaną pomoc. Szczególnie mocno zaś chcę podziękować Koledze IS, który poświęcił mnóstwo czasu żeby pomóc mi na PW. Stos udało mi się odpalić. Zasadniczo wszystko ruszyło. Jednak pojawił się niepokojący objaw. Zrobiłem sobie stronę, w...
Nie trzeba go przekonywać. Dla DMA jest wszystko jedno pod jakie adresy mają się zapisać dane. Ale nie jest mu wszystko jedno, w jakich okolicznościach ma to robić. W przypadku UART TX, DMA request jest generowany za kazdym razem, gdy flaga TXE==1 (jesli UART ma włączony DMA oczywiscie). Wtedy DMA...
-> BlueDraco Postraszyłeś tym DMA i teraz początkujący Kolega uczy się: "DMA jest trudne i złe, lepiej napisać to na przerwaniach". BŁĄD!! Po to jest DMA w prockach, zeby z niego korzystać, i odciążać rdzeń tu gdzie tylko się da. I tym sposobem moja konstrukcja mieli ciągły strumien z UARTa rzędu...
Ja z kolei do odczytu enkoderów stosuję takie coś: [syntax=c]const uint8_t Encoder_change_lookup_table[] = { 0, //00 --> 00 = ?? 1, //00 --> 01 = ++ 2, //00 --> 10 = -- 0, //00 --> 11 = Błąd 2, //01 --> 00 ...
Witam. biblioteka stm32F10x_stdPeriph_Driver zewnetrzny kwarc 25 Mhz SystemInit(); RCC_HSECon...
Witam, jako, że nie widzę, żeby była możliwość w STM32 konfiguracji DMA pod transfer MEM->GPIOx->ODR (no bo i co by miało ten transfer trigerować) a potrzebuję przesyłać duże ilości danych i szybko (nie wiem jeszcze jak szybko ale napewno nie chce tu opierać się na jakimś memcopy :P), to moje pytanie...
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...
No tak, zawsze mam przeznaczony dla takich zadań jeden timer, ładowany odpowiednią wartością na początku obsługi funkcji I2C, w każdej pętli while, poza sprawdzaniem danej flagi, sprzwdzany jest także stan licznika - jeżeli zostanie przekroczony, petla while zostaje opuszczona z ustawioną flagą błędu....
Można spróbować po prostu wrzucić któryś z małych uC - coś z rodziny MSP430 lub STM32? Większość ma liczniki chodzące do dziesiątek MHz, mogą pracować praktycznie bez elementów zewnętrznych, obudowy mogą być małe, plus jeśli trzeba to dodatkową funkcjonalność można samodzielnie zaprogramować.
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.
Mam oto Evoluation Kit od Nordica z układem nRF51422. Po wykonaniu wszystkiego co jest opisane w guide (upload najpierw FW ze stosem, a potem konfiguracja adresów Keila). Niestety gdy wywołuję funkcję (projekt z example'a S310) sd_softdevice_enable(..) program nie przeskakuje te funkcji jednak powoduje...
Witam mam problem z miganiem dwoma diodami, ale czysto sprzętowo, za pomocą timera 3 w trybie outpu compare. Pisząc program wzorowałem się na kodzie ze strony . Mój kod różni się tylko tym, że nie wykonuje tutaj remmapu, ponieważ w moim uC (stm32f103vct6) TIM3_CH3 i TIM3_CH4 jest podłączony do wyjść...
Witam Probuje zmienic satan pinu z okresem 1Mhz. Niestety maksymalnie co uda mi sie wyciagnac to 526kHz przy preskaler=1 okres=1. Jak moge szybciej przemiatac pinem? zegar rozbujany do 72Mhz , pin ustawiony na 50MHz. reszta ustawien : [syntax=c] TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; //Konfiguracja.....
Nie ma znaczenia czy to Keil czy inne środowisko. Nie znajdziesz rejestru, z którego możesz odczytać wartość częstotliwości taktowania rdzenia wprost, czyli jawnie np. 72000000. Możesz odczytać poszczególne ustawienia pętli z rejestrów RCC i użyć wzoru, aby obliczyć przybliżoną, rzeczywistą wartość...
Witam, Robię analizę FFT na tym mikrokontrolerze korzystając z bibliotek DSP producenta. Za pomocą TIM2 zmierzyłem czas obliczeń FFT (szyna APB1 36MHZ, prescaler = 35 daje inkrementację licznika co 1µs). Fragment listingu z pomiarów: [syntax=c] TIM2->CNT = 0; for(i=0; i<512; i++) buffer_input[i]=(float)(ADC_buff_1[i][0]...
Od kilku, lub nawet kilkunastu dni próbuję uruchomić moduł Ethernet dp8388 (ZL3ETH) i niestety nie udaje mi się ta sztuka. Doszedłem do etapu w którym wysyłam z komputera ping (tylko po to aby został przesłany jakiś pakiet) i podczas debugowania podglądam rejestry i zauważyłem że w rejestrach: Ethernet...
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...
Z racji iż były święta i było kilka dni luzu postanowiłem w ramach rozruszania szarych komórek pobawić się płytką HY-MiniSTM3V. Znawcy procesorów ARM doskonale znają tę płytkę więc znają jej możliwości. Samo mruganie diodą mnie nudzi, więc wymyśliłem projekt bardziej ambitny :D i tak powstał...
Witam ponownie tym razem próbuję uruchomić przerwanie od TIM7 w mikro STM32 F303VC6 na płytce Discovery F3. Napisałem konfiguracje NVIC i TIM7 po czym uruchomiłem całość i owszem to co jest w funkcji obsługi przerwania jest wykonywane ale mam wrażenie, że pełną częstotliwością a nie co 1 sekundę tj ustawiłem....
witam Podpiąłem włącznik pod gipo ustawiłem na nim przerwanie i zmienną która je zlicza. jak przycisk trzymam krótko to licznik powiększa się o jeden prawidłowo, przy dłuższym przytrzymaniu przycisku zliczenie ( przerwanie ) występuje na przyciśnięciu i puszczeniu guzika, proszę o pomoc [syntax=c]void...
Klepnąłęm kawałek kodu na STM32F0x dla obsługi transmisji uK=>PC. Jednak pojawił się dziwny objaw. Może ja nie widzę błędu.... Warto aby ktoś zerknął w ten kod: #define TBUF_SIZE_UART2 128 struct uart2_tx_buf_st { u16_t in; /* indeks zapisu */ u16_t...
Działa!!! :D - Dziękuje Wam przeogromnie. Rzeczywiście dodanie "const" rozwiązało problem. przy okazji: po załadowaniu pełnego obrazu 320*240 miałem dziwny błąd, bo obraz na wyświetlaczu ładował się tylko w "połowie". Okazało się, że wewnątrz funkcji rysującej obraz miałem zmienną "licznik_pikseli",...
Wszystko się da:) Jeśli kamera miałaby możliwość wyłączenia (bez podciągania) wyjść to mogłoby się odbyć bez multipleksera na zewnątrz. W najlepszym przypadku stracisz o połowę odświeżanie kamery. Pytanie jak później ma wyglądać strumień danych, w sensie co z nim robisz. DMA zapisze najpierw górny obszar...
Do pasma EKG układ w zupełności wystarczy. W kwestii punktu 4, chodziło mi o taką konfigurację licznika: - licznik zlicza w jednym kierunku, np. w górę. - Czas pełnego okresu (PSC i ARR) to trochę więcej niż czas transmisji + impuls LDAC (=210ns). - Do jednego z rejestrów porównujących ładujesz wartość,...
Dzień dobry. Od kilku dni bawię się z STM32L152RE, mam problem z generacją PWM z timera 4. Wszystko robię zgodnie z opisem w RM i już nie wiem w czym tkwi problem. Opis programu: TIM4 skonfigurowany do genercji PWM na swoim wyjściu (TIM4_CH1), dla pinu 6 portu B włączona funkcja alternatywna...
Witam, próbuje sterować diodą RGB podłączoną do Nucleo l053r8. Konfiguracja portów została ustawiona tak jak i przerwania. Problem mam z ustawieniem pracy kanałów i wlaczeniem generowania sygnalu na wyjściu licznika. Czy poniższy kod wskazuje prace kanałów? niestety cały czas kompilator wywala mi...
Arduino ma tę zaletę, że można kupić płytkę za 30zł i coś na niej robić. Gdyby nie to, że osoby które prowadzą laboratoria po prostu kupiły kilka zestawów Arduino, to zajęcia laboratoryjne z mikrokontrolerów jednoukładowych byłyby prowadzone wyłącznie w oparciu o dwa zestawy DSM-51 i ew. mocno niedorobiony...
Powtórzę po raz trzeci. Jeśli CCR <= ARR, znacznik ustawia się przy zrównaniu wartości licznika z CCR. W przeciwnym przypadku znacznik CC ustaia się razem z UIF. Ta odpowiedź mnie bardzo satysfakcjonuje i jest bardzo jasno napisana :D Dzięki wielkie, jeszcze będę testował jak będę miał trochę...
Wszystkie funkcje arduino-embedded powinny działać. Czyli obsługa i2c, 1wire, spi, uart, operacje na pinach gpio. Dlaczego? Bo chociaż czasem przez różne rejestry to w zasadzie robią to samo więc można wysokopoziomową funkcją "przykryć" różnice sprzętowe. Proste rzeczy jak PWM, input capture itp. też...
Dzięki za odpowiedź. Jednak nigdzie nie widzę zasilania 36V. Interesuje mnie połączenie mikrokontrolera z licznikiem energii po M-Bus. Z góry dzięki.
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? ...
Poza tym typowy błąd AVRowca - nieskasowana flaga przerwania. W tym przypadku akurat jest kasowana przez sprzęt sama. Jeżeli nie włączył przerwań od błędów to i tak nie będą wywoływane poza ORE, który i tak nie czyści się poprzez pisanie czegoś do SR. Zresztą ORE w tym przypadku się nie spodziewam...
Czyli z tego wynika że, timer zainicjalizowany w sposób: TIM2_TimeBaseInit(TIM2_PRESCALE... 999); Będzie liczył od 0 do 999, jak doliczy do końca (999) to zostanie wygenerowane przerwanie update czyli overflow ? Czyli przerwanie będzie generowane co T = 1/(F_CPU/Prescaler/(Period+1)), przy zołożeniu...
Witam, chciałbym się zapytać, czy taki sposób implementacji/algorytmu sterowania mikrokontrolerem falownika do silnika indukcyjnego 3 fazowego, przy najprostszym sterowaniu skalarnym U/f = const., bez prędkościowego sprzężenia zwrotnego jest poprawny? Założenia: - Wykorzystuje STM32F103 - Częstotliwość...
Droga, którą obrałem to wpierw HAL, ze względu na bardzo przyjazną graficzną możliwość konfiguracji, a potem wraz z przeglądaniem dokumentacji powolne przechodzenie na rejestry. Po prostu po kolei np. obsługę portów (wejścia/ wyjścia) stosuję już bezpośrednio na rejestrach. I tak krok po korku ;) Co...
Wypełnienie ustawia się w rejestrze ccr. Jeśli przebieg ma być nie standardowy, użyj tablicy z ilościami cykli i ładuj do rejestru licznika poprzez dma.
Witam. Może inaczej. Klucze szyfrujące i dekodujące wpisujesz na stałe do nadajnika i odbiornika. W ramce tylko wysyłasz informację którym kluczem jest zaszyfrowana. Dzięki tej metodzie nie wysyłasz klucza szyfrującego w ramce, będzie trudniej złamać szyfr. Tak właśnie robię. Bajt 3 i 4 to wylosowane...
Kolego (at)Freddie Chopin, mylisz się bo nie chodzi o urządzenie, które działa podobnie jak reflektometr tylko jak kółko miernicze odległosci tj. licznik długości kabla, liny stalowej itp... przeciąganych przez mechanizm zliczający metry w skrócie: np. kółko z dociskiem, które kręci się po lince lub...
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...
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ą...
Witam. Od pewnego czasu walczę z chińską płytką (blue-pill) z STM32F103 na pokładzie i z tego co już się nauczyłem oraz co sobie w ReferenceManualu wyczytałem to wiem, że AVR'y odłożę na półkę:) Moja nauka jest w stylu 'bare-metal' wykorzystuję jedynie pliki nagłówkowe stm32f103xb.h i kilka od CMSIS...
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...
Witaj Kolego Szczywronek ! Oczywiście, mam nadzieję, że wiele razy już czytałeś jak piękną robotę odwaliłeś pisząc swój poradnik. Myślę, iż słowo poradnik jest nieadekwatne do tej książki, którą wydałeś w domenie PUBLIC DOMAIN. Wielki szacunek i wielkie podziękowania, za włożony trud! Nie mniej...
HAL_UART_Receive_IT nie dość że trzeba wywoływać cyklicznie, to jeszcze potrzebuje argumentu właśnie ilości danych Tym się nie przejmuj. Używaj tylko długości danych=1 a tą funkcję wołasz tylko jeden raz z programu na rozruch. Ale HAL_UART_Receive_IT umieszczasz też w obsłudze przerwania od RX...
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ą 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. Gdybym miał użyć takiego...
Witam od paru dni mam problem z poniższym kodem. Program ma zliczać impulsy generowane przez SysTick - macha on nóżką PA8 i po zliczeniu 20 uruchomić przerwanie TIM1, co spowoduje zmianę stanu załączenia diody ( Pin PA5 ). Niestety dioda wg się nie załącza. uC STM32f411RE. Proszę o wyrozumiałość dopiero...
Jeżeli chcesz projektować część sprzętową, może to zająć kilka długich tygodni lub miesięcy. Aktualnie dostępnych jest wiele modułów, których cena jest bardzo atrakcyjna i można od razu skupić się na tworzeniu aplikacji (interfejsu i grafiki), zamiast projektować 6 warstwową PCB i zastanawiać się czy...
Witam. Kupiłem płytkę uruchomieniową STM32vldiscovery z kontrolerem STM32F100RB. W przykładowym programie użyto licznika SysTick do wywoływania przerwania co 1ms. W programie użyto funkcji włączającej podział zegara systemowego (ustawionego na 24MHz) przez 8. "SysTick_CLKSourceConfig(SysTick_CLK...
No niestety trzeba przyznać że wykonanie (ten bałagan) woła o pomstę do nieba ;) No ale plus za chęci i nie powielanie standardów. Ale warto chyba jeszcze nad tym posiedzieć i jakoś sensownie poukładać to w obudowie. Odnośnie obudowy lampy to nie lepiej dać kawałek rurki PCV itp. ? bo jakoś...
Nie wiem jakie kolega miał problemy z tym wyświetlaczem. Fakt dziwnie zachowują się przy współpracy z 3,3V z STM32. Ale stosowałem różne wersje, także identyczny jak w tym projekcie i jakiś wielkich kłopotów nie miałem. Wyświetlacz świetnie spisuję się przy temperaturach rzędu -30st.C. Przeżywa cały...
Taki na który umiesz napisać program. Na przykład Arduino czy STM32. Chyba nie ma mikrokontrolera który by tego nie ogarnął.
Witam kolegów! Dorwał się człowiek do STM32 i teraz będzie spamował. Ale w tym wypadku i działa i nie. Chcę zrobić najbanalniejszego delaya na liczniku TIM17. uC taktowany 16MHz. I jest mały problem: void bios_delayMs(uint32_t ms){ RCC->APB2ENR|= R...
Cieszę się, że mogłem pomóc. Fakt - ciężko się w tym odnaleźć, tym bardziej, że czasem są dziwne zależności. Jak np. żeby włączyć PWM dla TIM1 trzeba ustawić bit w rejestrze od break'a i dead-time: Dodano po 57 Pomogło dzięki. Ogólnie biorąc to w tych ARM'ach strasznie dużo rejestrów...
Witam staram sie uruchomić sprzętową obsługe encodera w stm32F4. Generalnie całość już działa problemem okazuje się sam timer. Działa inkrementacja i dekrementacja timera jednakże licznik nie chce się przepełnić zarówno przy zliczaniu w górę i w dół timer dolicza do maksymalnej wartości zapisanej w rejestrze...
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 projektu....
Sam main.c raczej nic nie da ale proszę. /** ***********************************... File Name : main.c * Description : Main program body **********************************... This notice applies to...
Witam, Małe słówko sprostowania odnośnie porównania STM32 i AT91Sam7X.... . Cena: STM32 chyba korzystniejsza Peryferia: STM32 już nie koniecznie, proszę zauważyć że STM32 ma 16 bitowe rejestry i np. skorzystanie z 32 bitowego licznika trzeba kombinować w specjalnym trybie. At91sam7x...
Moduły zasilaczy warsztatowych, takie jak DPS5005, dostępne są od dłuższego czasum.in. na AliExpress. Doczekały się wielu recenzji, w większości pozytywnych. Jednakże często wskazywanym problemem z tymi modułami jest kiepskiej jakości oprogramowanie – interfejs użytkownika pozostawia wiele...
Nie wiem o co chodzi, support STM mi powiedział, żebym wgrał kod do ramu oraz wektor przerwań. Cały problem od początku: Zadanie programu jest następujące: ze sterownika sczytuję wartości enkoderów i zapisuję je do pamięci flash. (powinno to być wykonywane timerem co 10ms). Następnie odczytuję te...