powtarzam SYSCFG włączone poprawnie?
12 cykli - tyle zajmuje przejście do obsługi przerwania 6 cykli - tyle zajmuje przejście z przerwania do przerwania o wyższym priorytecie 6 cykli - tyle zajmuje przejście do przerwania o niższy priorytecie bezpośrednio po zakończeniu przerwania o wyższym priorytecie 12 cykli - tyle zajmuje wyjście z przerwania. Ta zasada tyczy się wszystkich przerwań
NVIC_InitStruct.NVIC_IRQChannel = EXTI0_IRQn ; Deklarujesz przerwanie na pin0 a oczekujesz go na pin9. Ustaw przerwanie na pin9 albo podepnij przycisk po pin0. Jaki to procesor? Niektóre STM32 mają łączone sygnały przerwań np.: STM32f100 ma pin9 na EXTI9_5_IRQn oczywiście mósisz wówczas zmienić również nagłówek: void EXTI0_IRQHandler(void) na: void...
Spróbuj tak: [syntax=c]//GPIO_EXTILineConfig(GPIO_Por... GPIO_PinSource13|GPIO_PinSource15); GPIO_EXTILineConfig(GPIO_PortSourceGPIOC... GPIO_PinSource13); GPIO_EXTILineConfig(GPIO_PortSourceGPIOC... GPIO_PinSource15);[/syntax]
Nie wiem czy to chciałeś osiągnąć, ale pin masz ustawiony na floating. Definicja w komentarzu była dobra, wartość liczbowa - zła. Przykłady znajdziesz w wyszukiwarce forum, w ostatnich tygodniach tematów o EXTI było kilka. 4\/3!!
Trzeba dodatkowo włączyć taktowanie bloku przerwań. Wstaw np. zaraz przed while(1) RCC_APB2PeriphClockCmd(RCC_APB2Perip... ENABLE); Jak dojdziesz do timera to też dodatkowo trzeba włączyć taktowanie RCC_APB2PeriphClockCmd(RCC_APB2Perip...
Podłączenie przez kondensator faktycznie pomaga, jednak jest to sygnał który zmienia się ~200 razy na sekundę, dlatego niestety odpada. 200Hz? Przecież to prąd stały... Kondensator 100n z rezystorem 10k mają stałą czasową odpowiadającą częstotliwości 1kHz, z rezystorem 100R już jest 100kHz, więc gdzie tutaj jakiś problem? Tak jak już rb401 napisał...
Choć dopiero zaczynam przygodę z STM32 to po mojemu nadpisujesz strukturę i dlatego zawsze działa Ci ostatnie zdefiniowane przerwanie.
Na pierwszy rzut oka w przerwaniu nie sprawdzasz flagi ani jej nie kasujesz... A także nie włączasz systemu NVIC i go nie konfigurujesz...
1. Pierwsze 14 wyjątków pochodzi z rdzenia (2+14 adresów w tablicy). Te z rdzenia mają numery ujemne lub 2..15, spoza rdzenia - nieujemne lub od 16 w górę. 2. Jw, ale część wyjątków rdzenia też ma ustawiany priorytet. 3. Najlepiej zapomnij o "grupowaniu". W praktyce nie ma żadnego sensu korzystanie z tego. Domyślnie po reset mamy zawsze konfigurację...
witam, zmieniłem tak jak mówisz [syntax=c]void EXTI0_IRQHandler(void) { if(EXTI_GetITStatus(EXTI_Line0) != RESET) { EXTI_ClearITPendingBit(EXTI_Line0); Buffer[iWriteIdx] = 'I'; GoToNextElement(&iWriteIdx); if( GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0) == Bit_SET ) { Buffer[iWriteIdx] = 'H'; } else { Buffer[iWriteIdx] = 'L'; } GoToNextElement(&iWriteIdx);...
W internecie pisali że w tym pliku się trzyma wszystkie obsługi przerwania, ale jak nie trzeba to ok
Nawet jeżeli nie generuje jednego tylko więcej, to po jakimś czasie licznik powinien zliczyć do 5, w moim przypadku nic się nie dzieje, przerwanie się nie wywołuje.
a plik startowy masz dla dobrej lini STM? z tego co się orientuję i rozumiem to tak. Dlaczego głupia biblioteka do stm32 rządzi swiatem i wiecznie jest ktos, komu ona nie działa?... Ludzie, opamiętajcie się... Dlatego, że jest dość przejrzysta i dużo bardziej przystępna dla kogoś kto miał styczność z klasycznym, komputerowym C, a nie z mikrokontrolerami,...
A mógłbyś mi powiedzieć jak ustawić przerwania? Tzn nie wiem co wpisać i jak to wpływa na przerwania jak mam takie zmienne NVIC_IRQChannelPreemptionPriority oraz NVIC_IRQChannelSubPriority. Chcę użyć przerwań zewnętrznych z 4 pinów.
Aajednak nie działa. Akurat trafiłem na dobrą passę, że działało;/ Źadnych przerwań zewnętrznych nie ma, w ogóle w sumie nie ma przerwań..
Wiem jak działają przerwania, nie wiem z kolei jak je konfigurować. W takiej sytuacji, najprostsza droga to HAL. Akurat konfigurowanie peryferii dobrze w nim działa. Podejrzysz co robi HAL i po robocie, chyba, ze chcesz na nowo wynajdować koło. Niby wiesz jak działają. Dlaczego więc pytasz o rejestr maski przerwań zewnętrznych? To pytanie nowicjusza...
Problem rozwiązało właśnie użycie przerwań zewnętrznych. Można w funkcji obsługi przerwania EXTI sprawdzać od którego wejścia pochodzi przerwanie i zliczać impulsy z tego wejścia. Dzięki za pomoc.
gaskoin- dwa PC817 są równie dobre, zwłaszcza jak się je ma w szufladzie. Inna sprawa- przebieg na wyjściu detektora zera jest taki sobie- żeby nie powiedzieć paskudny. No i podany jest na zwykłe przerwanie zewnętrzne a nie na żaden komparator. Pewnie ARM ma na wejściach jakąś histerezę- ale może trzeba ją w jakiś okropny sposób włączyć? Może sprawdzić...
Przykłady jak ustawić timer i przerwania zewnętrzne również na forum były umieszczone.
Moim zdaniem konfiguracja DMA jest trochę niepełna, a ponadto brakuje obsługi przerwania od DMA. Przynajmniej w jednym miejscu wpisz jawnie wartość do rejestru sterującego (CR = ...). Na razie wszędzie masz |= lub &=. Zakładając, że pierwszy transfer poleci i przerzucisz 19200 słów, to później DMA się zatrzyma i nic więcej nie prześle. I jak to ma coś...
:) Kto szuka nie (ten) błądzi. Dzięki za cierpliwość. Na chwilę obecną przyjmę to za pewnik. Temat jednak pozostawiam otwarty. Jeśli ktoś z czytelników rozumie mą rozterkę i potrafi mi wyjaśnić dlaczego tak a nie inaczej...to proszę się nie krępować :D PS Szczerze mówiąc dziwi mnie trochę to, że Ciebie jako fana logiki nie zastanawia pozorna bezsensowność...
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 bloków układu w tych przerwaniach. I to działało z użyciem...
Czy program składa się tylko z przerwań? Nic innego już nie ma? PS Oczywiście często tak się pisze że nie ma nic poza przerwaniami ale chyba to nie o to chodzi. No ja dopiero zaczynam z stm32, skoro chce zmienić napis w momencie wykonania jakiejś czynności zewnętrznej, to nie mam pojęcia jak to zrobić bez jakiegoś przerwania. Dlatego się pytam czy...
Witam wszystkich Tak jak w temacie, skonfigurowałem eclipse pod stm32. Używam makefile i linkera od Frediego. Wszystko pięknie działało(miganie diodą, obsługa klawiszy etc) do mementu, gdy postanowiłem przetestować przerwanie zewnętrzne. W tym momencie podczas odpalania program trafia do funkcji _Default_Handler w pliku vectors.c gdzie się zapętla (chyba...
Ja na samym początku przerzucam wektory przerwań na początek pamięci RAM. A później wstrzykuję swoją funkcję w miejsce oryginalnego wektora. Po rozmyślaniu na ten temat doszedłem do następujących wniosków. 1. Możliwość dynamicznej rejestracji przerwań (najlepiej w wysoce abstrakcyjny sposób, tak aby funkcje nie musiały być publiczne) byłaby z pewnością...
Streszczając teraz większość informacji: 1. Posiadam STM32 z jednym ADC 12-bitowym, z 16 kanałami (https://www.st.com/resource/en/datashee... 2. Częstotliwość próbkowania ok. 20 kHz na zewnętrznym ADC. 3. Komunikacja SPI DMA, po przerwaniu z Timera. ad. 1) Czy koncepcja użycia zewnętrznych ADC w celu uniknięcia przesunięcia fazy napięcia...
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ć CCR2, czyli wpisać 0 do tego rejestru. Próbowałem...
Powyższy przykład zaczerpnąłem z kursu o STM32 http://forbot.pl/blog/artykuly/programow... gdzie piszą program na F1 a ja próbowałem zamienić go na F4. To dziwne w takim razie, że u nich to działa a u mnie nie, jeżeli sam kod teoretycznie mam poprawny.
Witam! Mam kłopot z uartem w stm32. Wysyła ok, wchodzi w przerwanie od rx uarta i odczytuje jego DR zapisując do tablicy i zwiększając wskaźnik do tablicy żeby był gotowy na następne przerwanie ale ono właśnie nie wystepuje pomimo, że następny bajt przychodzi uartem. Systick co 100ms inicjuje wysłanie zapytania do zewnętrznego urządzenia i urządzenie...
Banialuki pleciecie, Koledzy (niektórzy). Praca krokowa w 8080 wygląda dokładniuśko tak samo, jak w Z80, 8085, 8088 i większości innych mikroprocesorów. Najprostszy system z 8080 właśnie konstruuję - składa się z 8080, 8224 i STM32. Będzie na nim działał również CP/M-80, który już działa na analogicznych maszynkach z Z80 i 8085. "Prawdziwy" komputerek...
Na początku upewnij się, że włączyłeś zegary we wszystkich wymaganych urządzeniach (albo załącz na forum cały program). Możesz też wymusić obsługę przerwania zewnętrznego używając funkcji bibliotecznej "EXTI_GenerateSWInterrupt". A poza tym proponuję zacząć od migania diodką a później napisz taki prosty program starając się powoli zastępować funkcje...
Witam, Eksperymentuję trochę z STM32 na płytce Nucleo F446RE i natknąłem się na pewien problem. Płytkę zasilam zasilaczem MeanWell RD-65B, który produkuje 24V oraz 5V. Oczywiście zasilanie Nucleo podłączam pod 5V. Na tym samym obwodzie, do którego podłączony jest zasilacz działa też kompresor. Jakiś tani chiński o mocy około 800W. Mój problem polega...
Witam, wiem, że temat stary, ale też używam Keila i przyszła mi potrzeba za alokować 2kB pamięci, żeby wczytać dane z zewnętrznego ramu i zapisać w zewnętrznym flashu i też malloc zwracał mi wskaźnik NULL i w moim przypadku wystarczyło w pliku *.s zmienić Heap_Size EQU 0x00000200 na Heap_Size EQU 0x00000F00
Czy dobrze rozumiem że ustawiając Update DMA i Update interrupt to po każdym przekręceniu się licznika zostanie wywołane przerwanie i DMA? Biorąc pod uwagę fakt, że kanał który miałby to DMA od timera obsłużyć nie jest włączone, to raczej niezbyt będzie wywoływane. Przerwanie to co innego, ale z tego co widziałem nigdzie go nie włączasz. W przypadku...
Główne różnice to obecność "zanegowanych" sygnałów wyjściowych (OCxN) z opcjonalnym deadtime oraz wejście "hamulca" (BKIN). Właśnie dlatego go szkoda. Timery w STM32 są niesamowicie rozbudowane Tym bardziej szkoda takiego całego timera jako dzielnika /2. Ale udało się-wykombinowałem. Wymagało zewnętrznego połączenia wyjścia np ch3 na który mam wyprowadzony...
Algorytm w mikroprocesorach przeważnie ściśle związany jest z zasobami procka i przenoszenie bez poważnych przeróbek jest mało realne. Na przykład program korzystający z 8 zewnętrznych przerwań na program do procesora który ma tylko 2. Zgadzam się z tym że powinno być więcej książek do ARMów, a zwłaszcza bardziej sensownych niż to co do tej pory powstało.
Witam Urządzenie jest zasilanie z USB, ale to jest tylko procesor + jedna kości ramu, 500mA nie ma. Wziąłem nawet oryginalny program z STM, MassStorage, ale to samo. Tzn wszystko działa ale ciekawy jestem czy tak powinno być, że tyle razy mam sygnał reset z USB. Z tego co piszesz to chyba nie. Spróbuję zasilać z zewnętrznego zasilacza Co dziwne mam...
Udało mi się :) Próbowałem tym Eclipsem ale nie mogłem skonfigurować dla F7 tego Eclipsa. W każdym razie odpaliłem ST-Link Utility i przytrzymałem reset, jakoś go potem puściłem i zamiast connect dałem erase i ruszyło! Choć próbowałem różne takie kombinacje, w tym tę także, już wczoraj, ale nie szło. W każdym razie dzisiaj się udało i już się programuje....
Witam, Dalej walczę z książka STM32 Aplikacje i przykłady w języku C. Doszedłem do obsługi przerwania RTC. W książce jest przykład, który konfiguruje przerwanie od RTC, tak jak by to było przerwanie wewnętrzne. Autor zakłada, ze w pliku stm32f10x_it.c jest gotowy szablon funkcji RTC_IRQHandler (), który należy uzupełnić oraz uaktywnić przerwanie w NVIC....
Może spróbować zamiast usypiać procesor to załadować jakąś pętle nieskończoną z kawałkiem kodu do pamięci ram i ją wykonać. Ja akurat i tak czy siak usypiam STM'a ze względu na oszczędność baterii (działa tylko GSM w trybie Sleep). Z tą pętlą w RAM to i może nie głupi pomysł ale co jak braknie RAM'u (a czekanie w nieskończoność na FIX'a mija się z...
Witam, odwróciłem 115200 ale to wychodzi na jedne bit a nie bajt czyli raz 10 czyli około 86us, to nie jest ważne... Teraz uruchamiam timer co 1ms i sprawdzam czy "były dane" chciałem użyć timer w trybie Slave mode: Reset mode, czyli ja podam mu zewnętrzny sygnał to zbocze narastające lub opadające od transmisji go wyzeruje, a jak nie ma transmisji...
Ale mam kilka operacji wykonywanych ciągle w tle realizowanych wywołaniem z przerwania natomiast główna część programu leci i mam miejsca gdzie muszę zrobić "postój" na czas 100ms-1000ms ze względu na inicjalizację pewnych urządzeń. W tej chwili robię to wystawianiem flagi z timera ale chciałbym poznać jakieś alternatywy. Bardzo ciekawą rzeczą jest...
Tak, peryferia uC 32-bitowych są strasznie skomplikowane, tak strasznie, że nie da się ani przeczytać ich opisu, ani napisać kodu je obsługującego inaczej, niż biorąc gotowy przykład z HAL i modyfikując parametry. W takim prostym AVR do uruchomienia SPI potrzeba tylko trzech zapisów rejestrów, a w STM32 - aż trzech. To samo z UART, czyli tragedia po...
Chciałem zrobić przerwanie zewnętrzne (EXTI0), że jak naciśnie się guzik na płytce to tam lampki się zapalą inaczej. Tylko problem jest taki, ze jak nacisnę sobie guzik to niby program skacze do przerwania - tj. tak mi OpenOCD pokazuje: halt target state: halted target halted due to debug-request, current mode: Handler External Interrupt(6)...
O popularności mikrokontrolerów STM32 wśród hobbystów i pasjonatów nikogo nie trzeba przekonywać. Firma ST taranem wbiła się w społeczność mikrokontrolerową rozdając płytki Discovery i Nucleo. Wraz z rosnącym zainteresowaniem STMami pojawiło się kilka (polskojęzycznych) książek oraz kursów/poradników na ich temat. Po co więc kolejny? Istniejące poradniki...
Teraz mam problem z przerwaniami od końca konwersji ADC1. Działanie układu wygląda tak jakby mikrokontroler nie wchodził w obsługę uchwytu przerwania od przetwornika ADC 1,2. Konfiguracja przetwornika: void init_adc (void) { // Niezależny tryb pracy // Włączenie przerwań od końca przerwań - EOC ADC1->CR1 = ADC_CR1_EOCIE ; //Wybór czasu...
Dobrze mówisz Freddie przerwanie będzie w takim przypadku generować problemy, a wtedy będą powstawać błędy wielkości 0xFFFF a to jest nie dopuszczalne. No to biorę się za naukę obsługi przerwań zewnętrznych. Mam jeszcze jedno pytanie do Ciebie Freddie do którego nie będę zakładać nowego tematu. Czy wyrobi się procek STM32F103CB z: -obliczeniem położenia...
Witam, mam problem z przerwaniami zewnętrznymi. Otóż mam podłączone przyciski z napięciem od zestawu STM32 i pinami kolejno PD1, PD3, PD4, PD6, PD7. Napisałem proste przerwania ale one nie działają! Zadaniem każdego przerwania jest zapalenie innej diody na zestawie. Tzn. przerwanie w moim przypadku wykonuje sie samoczynnie (diody na płytce migają z...
Zazwyczaj najwygodniej uczyć się języka C na desktopie, czyli swoim PC-cie. Programując STM32 lub AVR-ki używa się języka w ten sam sposób, ale zwykle nie mamy dostępu do pewnych bibliotek standardowych, które na desktopie są od razu, bo komputer ma monitor, klawiaturę, dysk twardy itp.. W mikrokontrolerach tego nie mamy, więc użycie printf(), getch()...
Witam. Mam następujący problem. Otóż, chcę w obsłudze przerwania od kanału 1 timera TIM1 ustawiać semafor, na podstawie którego wykonuje się jedno z zadań. Robię to w standardowy (chyba) sposób: // Obsluga przerwania od TIM1 void TIM1_CC_IRQHandler(void) { static portBASE_TYPE xHigherPriorityTaskWoken; xHigherPriorityTaskWoken = pdFALSE;...
Czy użycie pinu UART jako GPIO wymaga pewnych ustawień? Bezpośrednia odpowiedź: Tak, użycie pinu UART jako GPIO zazwyczaj wymaga pewnej konfiguracji. Wynika to z faktu, że piny UART są zwykle domyślnie skonfigurowane do komunikacji szeregowej i należy je ponownie skonfigurować, aby działały jako piny wejścia/wyjścia ogólnego przeznaczenia (GPIO). Szczegółowa...
Mam program, który odczytuje dane z dwóch przerwań i zapisuje je na SD. Wszystko by było dobrze ale dane mi się gubią. Mam przerwanie nazwijmy je 'A' które jest częste i 'B' , rzadsze. Zgodnie z założeniami na kracie powinno pojawić się coś takiego 'dane z B' 'dane z A' 'dane z A' 'dane z A' 'dane z A' ....(razy 125) 'dane z B' czyli stała liczba A...
Witajcie, od dwóch dni próbuję ogarnąć przerwania EXTI. Już na to patrzeć nie umie... Gdy naciskam przycisk wszystko się zacina. Działanie programu (docelowe jakie ma być): dioda mruga co sekundę, po wciśnięciu przycisku gaśnie, po ponownym wciśnięciu zaczyna mrugać i tak w kółko. Działa: mruga, po wciśnięciu zostaje w stanie w jakim była podczas wciskania...
Coocox bardzo dobry na początek. Łatwy w konfiguracji, współpracuje z programatorami JTAG, ST_Link, nie ma ograniczeń, ma sporo ułatwień (automatyczne dołączanie potrzebnych plików, automatyczna konfiguracja stosu, zegara, przerwań (startup). A co do płytek z STM32 to najlepsze są serii discovery - tanie i posiadają wbudowany programator z ST_Link,...
http://obrazki.elektroda.pl/2247266700_1... Witam. W Internecie można znaleźć dużo przykładów, jak odtwarzać przez mikrokontroler dźwięk takimi sposobami, jak PWM czy DAC na interfejsie I²S. Niestety, ale jakość dźwięku PWM-a mnie nie zadowala, a zewnętrzny DAC nie wchodził w grę, ponieważ mój mikrokontroler nie ma wspomnianego...
Cześć, Mam problem z uruchomieniem USB w Eclipse niestety mam również problem z debugowaniem pod OpenOCD więc na razie diody ;/.. Na razie chcę jedynie migać diodą i próbuję do tego dołączyć przerwania od USB. Wszystkie przerwania i konfigurację wziełem z programu który działał mi pod uVision jednak ze względu na ograniczenie w rozmiarze kodu postanowiłem...
Witam! Próbuje skonfigurować zewnętrzne przerwanie od przycisku dołączonego do PC0. Wciśnięcie przycisku ma powodować zaświecenie diody, co się nie dzieje. Dioda zaświeca się po machnięciu ręką nad płytką, a dokładniej nad goldpinem do którego dołączone jest PA0. Korzystam z ZL31ARM. Kod porównywałem z tematem http://www.elektroda.pl/rtvforum/topic20...
skąd wiadomo że wybranie zewnętrznego oscylatora domyślnie dzieli sygnał przez 8? W dokumentacji o tym nic nie jest napisane, a dowiedziałem się o tym dopiero z forum. Jak nie jest, jak jest? Ino tylko faktycznie rozpisane jest na dwa dokumenty... Na przykład w F1, nie wiem jak jest w innych: Bit 2 rejestru CSR mówi o wyborze zegara - zegar procesora...
Oj, chyba nie... :) Nie chyba a na pewno! Kolega R-MIK chyba nie czuje w ogóle powagi sytuacji :wink:. To że oto na naszych oczach dokonał się przełom w walce z podstawową uciążliwością protokołu WS2812B, dokonany za pomocą dwóch prozaicznych mostków. Co prawda użycie SPI "jeden do jednego", przewinęło się tu gdzieś na forum, ale zastosowana była zewnętrzna...
Hej, mam trochę inny problem z takim modułem z transoptorem szczelinowym. Nie chcę zakładać tematu bo w tym układ został dobrze "rozgryziony". Odbieram sygnały za pomocą zewnętrznego przerwania i dostaje dużo więcej przerwań niż jest faktycznie impulsów - na tą chwilę robię to w Arduino, ale na STM32 było podobnie. U mnie opornik dla diody transoptora...
A może robić to poprzez machanie pinami w sposób ręczny? Nie mam siły już na to. Może problemem są też przerwania, wisi USB, 4 timery przerwania zewnętrzne itd. W sumie usb i 2 timery są dla mnie najważniejsze i muszą być obsłużone w pierwszych kolejnościach. Niestety detekcji nie mogę wykonać, jedyną detekcją to jest właśnie ACK z I2C. Nie mam pojęcia...
Tak czytając ten fragment odniosłem wrażenie że omawiasz opóźnienie związane z reakcją na przerwanie, a nie na reakcje samego wątku. Chodzi o opóźnienie reakcji na "zdarzenie odblokowujące wątek". Przykładowo wątek A czeka na semafor, wiec jest w stanie "zablokowanym". Teraz następuje zdarzenie - semafor zostaje "ustawiony" (przez przerwanie lub przez...
Wiem, że ogarnięcie ARM i jednocześnie C może być trudne, ale ja chciałbym na początek zrozumieć chociaż miganie diodą, a tu się okazuje, że to nie takie proste;-) To jest bardzo proste. Po prostu w AVR by migać diodą robisz 1 include io.h (no dobra, 2, bo jeszcze util/delay.h), ustawiasz 1 flagę kompilatora (np. -mmcu=mega8) i definiujesz jedną wartość...
Koledzy proszę, wręcz błagam Was o pomoc...rozwaliłem swojego discovery F0. Tzn. chciałem pobawić się I2C, skapnąłem się, że mam na liniach I2C1 lcd hd44780 więc przestawiłem jego kabelki na portA...niestety również na SWD Pin PA13 i PA14. Nie skapnąłem się, co za destrukcyjne działanie wykonuję. Rozwaliłem chyba bootloader w płytce, nie mogę wcale...
pobralem najnowsza paczke Wersja? :> Wklejony przeze mnie kawałek pochodzi z core_cmFunc.h V4.30 (20 oct. 2015) z CMSIS 4.5. Makefile nie jest Ci potrzebny skoro wybrałeś wtyczkę do Eclipse'a. Opcje sobie "wyklikasz" wedle uznania w ustawieniach projektu. Modyfikacja skryptu linkera to najpewniej tylko zmiana wielkości pamięci zależnie od posiadanego...
Witam, Napotkałem pewien problem. Otóż, w obsłudze przerwania od timer'a mam zmianę stanu lini. Generuję prostokąt. Konfiguracja układu to: Zewnętrzny kwarc: 8Mhz oraz RCC skonfigurowane w następujący sposób: [syntax=c] //zrodlo PLL to PREDIV1 RCC->CFGR |= RCC_CFGR_PLLSRC_PREDIV1; //ustawianie PREDIV1 na wlasciwe taktowanie RCC->CFGR2 |= RCC_CFGR2_PREDIV1_DIV2;...
W odpowiedniej paczce udostępniony jest szablon projektu.... Program na UC jest banalny, kręci się cały czas w pętli. Dodałem jedynie pomocniczo reakcję na przerwania zewnętrzne, które zapalają diody. Nieużywane wyprowadzenia konfiguruję jako wyjścia. Płytka drukowana jest 4 warstwowa. Ponieważ wykorzystuję dużo komponentów, nie mogłem poświęcić całej...
Czy do funkcji HAL_UART_Receive_IT na pewno powinien być przekazywany adres wskaźnika do struktury UART_HandleTypeDef? Dziękuję bardzo za wytknięcie błędu. Jeszcze sporo nauki przede mną. Po zmianie wywołania z HAL_UART_Receive_IT(&huart2, &Received, 1); na HAL_UART_Receive_IT(&huart2, Received, 1); UART zaczął ładnie odbierać dane...
Hehe, chyba ślepnę powoli :P Masz dobrą tablicę wektorów? Tablicę wektorów oczywiście napisałem sam, na podstawie twoich projektów dla µC LPC11xx i STM32. No i faktycznie, w tablicy wektorów zapisane miałem: Nie powinieneś działać na rejestrze 0? Tak, dokładnie, jedynka była wynikiem moich poszukiwań niepowodzenia, wcześniej widniało tam zero....
Wysłałem wiadomość z adresem ponownie. Nie wiem czemu tak się stało że poprzednia wiadomość nie dotarła. Dzięki za informację bo już myślałem że ktoś uznał że miejsce tego tekturowego grata jest na śmietniku ;-) Co do publikacji softu to sam nie wiem, projekt kalkulatora się cały czas rozwija, obecnie jest w pełni sprawny (spełnia wszystkie wymogi pełnoprawnego...
Dalszy ciąg walk :-) Podłączyłem płytkę z DAC'em do STMF107, ale bez żadnej róznicy w działaniu - nadal to samo. Potem jednak przyszło mi do głowy, że karmienie I2S danymi z Timera może wnosić jakieś przesunięcia czasowe, itp... Przerzuciłem więc procedurę "karmiącą" do przerwania od I2S wyzwalanego bitem TXE. I jest poprawa - dźwięk jest już dużo bardziej...
Urządzenie wykonuje pomiary co kilkanaście minut i w zależności czy jest połączenie GPRS wysyła dane po sieci. Jeżeli z jakiegoś powodu nie ma połączenia to zapisuje wyniki pomiaru do pamięci flash mikrokontrolera. Urządzenie pełni rolę SLAVE a ja komunikuję się w dowolnej chwili z wykorzystaniem Modbus RTU przez RS485 i odczytuję bieżące wyniki, które...
Tomasz. Moglibyśmy w sumie na gg, ale to tak dla potomnych i zainteresowanych tematem. Otórz, po to wyświetlacz korzysta z interface FMSC, żeby nie wachlowac ręcznie bitami RD, WR, RS, CS i żeby timing był kontrolowany przez procesor, a nie software. Nawet się nie zastanawiam co ta funkcja robi, bo "z definicji" jest zła :) Może ma tą zaletę, że działa,...
Witam, Właśnie jestem w trakcie przenoszenia małego projekciku z doświadczalnej pajęczynki na pcb, i mam mały problem. Dotychczas używałem Timera 2 do pomiary sygnału zewnętrznego (z odbiornika modelarskiego). Wszystko było ok. Teraz musiałem użyć Timera 3 kanału 2 wyjście PC7 (procek STM32F103Vx)... no i zaczęły się problemy. Pomimo zrobienia full...
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....
Aktualnie rozpracowuję przerwania zewnętrzne i mam takie dziwne zachowanie programu otóż na wbudowanym z zestaw nucleo przycisku przerwanie zapala mi diodę tak jak chcę (według schematu nucleo jest od podciągnięty do vcc) jednak jak chcę dodać swój przycisk na płytce stykowej podłączony do portu A0 to działa on wtedy kiedy fizycznie rezystorem podciągnę...
Witam, Temat: Program ma zrobić przerwanie na przycisku PC2 i PA0 tak aby zaświecić LED-ami na płytce. Zacząłem przygodę z STM32. Przerabiam poradnik ściągnięty z tego forum "Poradnik STM32 v1.9" . Bardzo interesująca lektura i bardzo wciągająca. Niestety napotkałem problem. Nie znalazłem odpowiedzi na forum więc piszę zapytanie tutaj. Chodzi o przerwanie...
Witam, z góry przepraszam za mój nikły poziom obeznania w świecie STM32. Myślę, że problem będzie błahy dla wielkich myślicieli elektrody :) Otóż skonfigurowałem sobie TIM7 do pracy tak: [syntax=c]TIM_TimeBaseInitTypeDef TIM_InitStructure; TIM_InitStructure.TIM_Period = 4; TIM_InitStructure.TIM_Prescaler = 999; TIM_TimeBaseInit(TIM7, &TIM_InitStructure);...
-brak konieczności użycia kwarcu nawet przy projektach wymagających stabilności (RS232,RS485 a nawet USB) Ja na ATmegach nigdy nie musiałem kwarcu wpinać, mimo stosowania w systemie odpalającym UARTa i to w środowisku zakłóceń radiowych (proste moduły RF bez żadnych gadżetów podpięte pod UART, nie to co te nowe LORA itp.). Dodam tylko że system działał...
Witam, Chcę dokonać bardzo dokładnego pomiaru czasu trwania impulsu, podawanego na PA11. Wykorzystuję stm32f103vbt6. Chcę aby zostało wygenerowane przerwanie (TRIGGER) po pojawieniu się impulsu na pinie PA11, po którym to timer TIM1 na kanale CH4 rozpoczyna zliczanie od zera. Po zaniku sygnału na PA11 muszę odczytać wartość do której zdążył doliczyć...
Witam was, w niedalekiej przyszłości chciałbym przesiąść się z AVR na ARM. Chodzi mi głównie o "modernizację domowego warsztatu" i "bazy prototypowej". Zrobiłem mały wywiad środowiskowy na lipiec/sierpień 2010- i ten post może pomóc jeszcze niezdecydowanym użytkownikom ARM. Więc oprócz AVR liznąłem uC PIC(8bitowe), pracowałem na 8080 i 8051. Niedawno...
Witam ponownie, zacząłem niedawno zabawę z CANem, a raczej powinienem napisać, że chciałem zacząć. Jako, że ostatnio nie mam dostępu do auta postanowiłem pogadac z interfejsem ELM327. Tak więc podłączyłem CANL z CANL i CANH z CANH między płytką a interfejsem. Idea jest taka: wysyłam komendy do interfejsu przez usart1 a on wysyła do mnie odpowiedzi po...
Chyba z RM'em ;P Tablice w C numerowane są od zera a nie od jedynki; rejestry natomiast są numerowane od 1 - stąd rozbieżność. Spróbuj: [syntax=c]AFIO->EXTICR[1] = AFIO_EXTICR2_EXTI6_PC;[/syntax]
Kilka lat temu zaprojektowałem kilka urządzeń wykonanych raczej w pojedynczych sztukach. W tej chwili wracam do tematu i proszę o ocenę tych projektów i ew. sugestie. http://obrazki.elektroda.pl/7199154600_1... http://obrazki.elektroda.pl/6673535000_1... http://obrazki.elektroda.pl/9183671400_1... Generalnie...
Co to niby ma być? USART1->BRR = (24+(0.9216/2))/0.9216; Zmieniłem na: Popatrz, jak zaprogramowałeś DMA - po 8 transferów, miały być 4 po 16 bitów z ADC do pamięci i 8 po 8 bitów z pamięci do USART. Poprawione, usunąłem również priorytety: Założę się na ślepo (a STM32F1 nie znam), że to nie jest potrzebne: ADC1->CR2 |= ADC_CR2_EXTTRIG; No więc sprawa...
Witam, Na wstępie zaznaczam, iż nie miałem do tej pory dużo wspólnego z układami ARM, stąd też taki mogłoby się wydawać banalny dylemat. Do rzeczy: -Na 6 wyprowadzeniach (PB10 - PB15) mikrokontrolera STM32L152RBT6 uzyskać chcę przebieg jak poniżej: http://obrazki.elektroda.pl/6696132300_1... - t1 jest czasem pomiędzy zewnętrznym zdarzeniem...
Masz rację, miałem CMD55 wysyłane automatycznie w przypadku wykrycia funkcji z grupy ACMD - funkcja wysyłała mi CMD55 + ACMD & 0x7f, stąd wydawało mi się, że CMD55 nie wysyłam. Jeszcze co do inicjalizacji - podajemy co najmniej 74 impulsy, ale przy CS=1 i SI równym 1. SI równe 1 i CS równe jeden zapewniają nam rezystory pull up włączane automatycznie...
Jak z dostępnością ADV7280? Kolega Piotrus_999 już napisał ze RPi Zero w sytuacji gdy chcesz użyć MIPI CS2 - taniej niż 5$ z taka ilością RAM nie będzie. Jest w Co do pytań - nie obraz się ale spróbuj przeczytać ze zrozumieniem dokumentacje bo inaczej nie zrobisz tego projektu. Przeczytam na razie staram się rozeznać, pracuję nad tym po 7 godzin dziennie,...
Cześć, Ponieważ pojawiła się prośba o możliwość udostępnienia uproszczonej wersji na inny uC to przedstawię krótką instrukcję jak dostosować projekt do potrzeb. Generalnie w obecnej wersji obsługiwane są dwie rodziny procesorów czyli STM32F4xx i STM32H7xx - prawdopodobnie nie powinno być większych problemów z innymi podobnymi układami STM natomiast...
http://obrazki.elektroda.pl/7258579400_1... Witam. Chciałem dzisiaj przedstawić kolejny projekt z cyklu "inni mają - mam i ja" ;) Tym razem jest to miniaturowy sterownik ethernetowy - " uWebServer ". Układ zbudowany został w oparciu o mikrokontroler Cortex-M3 - STM32F103C8T6, do tego kontroler ethernetu "znany i lubiany" - ENC28J60. Całość...
W normalnym świecie SPI działa w ten sposób, że wysyłając jeden bajt, odbiera się jeden. Pisząc pewien ogromny program, używałem powyższego założenia implementując obsługę SPI1 z pomocą kanałów DMA (DMA1_Ch2 i DMA1_Ch3). Jeden kanał używany do transferu bloku z pamięci RAM do SPI1->DR, drugi kanał do transferu w drugą stronę. Wszystko działało bez najmniejszego...
http://obrazki.elektroda.pl/3796073600_1... I Opis ogólny urządzenia: Chciałbym przedstawić mój projekt bazujący na mikrokontrolerze STM32 dokładnie na modelu STM32F11RET6 http://www.st.com/content/st_com/en/prod... Jest to sterownik dla urządzenia...
https://obrazki.elektroda.pl/4950580000_... Witajcie moi drodzy W tym temacie poznamy podstawy przerwań i timerów w PIC18F2550 . Na początek będzie krótki wstęp teoretyczny, a potem wszystko przerobimy dokładnie na praktycznych przykładach. Do lektury tematu przyda się ogólna wiedza na temat przerwań i programowania w C, choćby taka...
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...
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...
Przeczytałem wątek z dużym zainteresowaniem, wracam do uP po paru latach natomiast jestem starym programistą C Nie będę redagował jednolinijkowych cytatów, wypowiem się w punktach mam nadzieję każdy wyczyta co pochwalam / czemu się sprzeciwiam 0) nie zmienimy starego albo nie swojego kodu (np AVR czy innego) ale nowy możemy pisać lepiej. a) makra to...
https://obrazki.elektroda.pl/1293200600_... https://obrazki.elektroda.pl/3972590000_... Analiza urządzeni w przestrzeni częstotliwości, jest niezwykle istotne dla zbadania wielu jego parametrów. Poznanie charakterystyki Bodego czy funkcji przejścia układu jest dosyć prostym pomiarem, który zrealizować można z pomocą...
https://obrazki.elektroda.pl/9151185000_... Druga część artykułu o najtańszych nowych mikrokontrolerach z roku 2017. Ekosystem developerski Środowisko developerskie mikrokontrolera ma ogromny wpływ na jakość pracy z nim i w konsekwencji - na produktywność. Na to składają się różne czynniki – jakość IDE, dostępne biblioteki, płytki...
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 do wcześniej opisanego problemu, to moduł BT sterowany...
stm32 przerwać przerwać przerwać zewnętrzny stm32 przerwać
adblock opera wtyczka immobilizer iveco wtryskiwacz
wybór piekarnika kolumny podłogowe
Ekspres do kawy Bistro – brak ciśnienia i nie grzeje wody, diagnostyka i naprawa Odpowietrzanie pompy ekspresu Bistro – instrukcja krok po kroku, ULKA EP5, zapowietrzenie