https://obrazki.elektroda.pl/9462291700_... Chciałbym zaprezentować rozwinięcie eksperymentalnego odbiornika SDR, jaki opisałem ostatnio: https://obrazki.elektroda.pl/6947080100_... https://obrazki.elektroda.pl/7046555300_... Najbardziej w tym momencie interesującym fragmentem płyty jest głowica: https://obrazki.elektroda.pl/9911930900_...
https://obrazki.elektroda.pl/5694434400_... 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...
Witam , Wracam do tematu . Zegar skończony i przetestowany . Podziękowania dla autora za pomoc . Kilka krótkich filmów z pracy zegara wykonane telefonem . https://filmy.elektroda.pl/11_1551555088... https://filmy.elektroda.pl/90_1551555174... https://filmy.elektroda.pl/15_1551555225... https://filmy.elektroda.pl/89_1551555287... Jedna z dwóch gier...
https://obrazki.elektroda.pl/2759406900_... 8-bitowe mikrokontrolery nadal można znaleźć w wielu projektach, ale dzięki nowemu, niedrogiemu 32-bitowemu z rdzeniem AMR Cortex-M0+ taktowanym 48 MHz — STM32C0 — firma STMicroelectronics dąży do wyparcia 8-bitowych jednostek. Co może się odbyć wskutek: „ograniczonego wpływu...
No i dodatkowo sądzę, że na uprzejmą prośbę konstruktorzy znający cortexy chętnie opublikują przeróżne inity, takie jak timer, timer z pwm, SPI, CAN (ale to już chyba gdzieś wala się na forum), USB czy nawet ethernet, bez używania "tej lipy" ;] Może jest jakiś sposób w jaki mógł bym się z tobą porozumiewać nie zaśmiecając forum głupimi podstawowymi...
Witam, mam problem z komunikacją po 1-Wire, termometr DS18S20 odpowiada mi na sygnał reset jednak nie wysyła danych, odczytuje cały czas z magistrali 0xFF. - Termometr działa na 100% - mam inną płytkę z ATmegą 32 w której go sprawdzam - i tam działa wszystko bez problemowo, Oto kluczowe fragmenty mojego kodu: [syntax=cpp] #define SYS_CLK 8000000 //...
Witam Wysyłam przykładowe ramki z terminala do STM32 przez driver MAX3485 i cały czas sypie mi błędami w odpowiedziach. Nie mam też pewności czy to co wysyłam z terminala do STM32 dociera bez błędów. Poniżej fragment kodu oraz zrzut ekranu. Powinienem otrzymać to co wysyłam. Czarny kolor to odebrane ramki. Proszę o pomoc http://obrazki.elektroda.pl/7456669500_1...
Hej Freddie, tym razem to już mam poważny problem i proszę Cię o pomoc. Problem mam cały czas z przerwaniami. Nigdy mi w sumie tak naprawde nie zadziałaly na tym projekcie od stm. Przerobiłem Twoją tablice wektorów przerwań: /** \file vectors.c * \brief STM32 (STM32F101 - STM32F103) vector table and __Default_Handler() * \details STM32...
Witam, Próbując się posiłkować reference manualem (RM0008) oraz książką "Mikrokontrolery stm32 w praktyce" próbowałem odpalić okresowe wykonywanie przerwania na TIM2 i niestety nic z tego nie wyszło. Proszę o rade gdzie szukać błedu. Wygląda to tak: Konfiguracja NVIC // Wlacz przerwanie od Timera 2 NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemp...
Stwierdziłem że najpierw skonfiguruję sobie I2S3 żeby generowało mi MCLK, wydaje mi się, że ustawiłem wszystko a na PC7 nic nie ma. Czy ktoś kto już to uruchamiał mógłby rzucić okiem i podpowiedzieć co robię źle lub o czym zapomniałem? Poniżej kod programu: (miga diodką i ma generować MCLK na I2S3) [syntax=c]void TIM2_IRQHandler(void) { // flash on...
Jest to proste korzystasz z przerwań jakie generuje timer0 podobnie jak to opisał kolega z innego tematu tego fora w bascom napisał '************* Konfiguracja uC ***************** '***************************************... $regfile = "attiny2313.dat" $crystal = 16000000 Config Portb = &B11111111 : Portb = &B11111111 Config Portd = &B11111111...
No wiec tak, te dwie rzeczy są takie same w obu twoich przykładach i ich nie zmieniałem: __main_stack_size = 0; __process_stack_size = 1024; Przedstawiam poniżej to co teraz mam w moim projekcie: STM32F103RC_rom.ld [syntax=c]/*****************************... * author: Freddie Chopin, http://www.freddiechopin.info/...
Witam, mam problem z komunikacją z czujnikiem ciśnienia HP02S. Szukałem swojego problemu na forum, ale nie znalazłem. Udało mi się bez problemu odczytać dane z EEPROMu. Udało mi się też skomunikować z czujnikiem, ale do czasu. Sekwencja odczytu ciśnienia wygląda następująco (pseudokod): [syntax=c] i2c_start(); i2c_write(0xEE); i2c_write(0xFF); i2c_write(0xF0);...
Zmieniłem trochę w projekcie. Zastosowałem najnowszą wersję FatFS. Plik z konfiguracją funkcji zadeklarowanych diskio.h pobrałem ze [url=http://www.siwawi.arubi.uni-kl.de/a... strony i przerobiłem go by pasował do STM32L. Po testach objawy wyglądają tak: Karty 512MB i 16GB: porgram mniej...
Super, jakoś udało mi się Eclipsa uruchomić fakt że w innej wersji Version: Mars Release (4.5.0) ale bez problemu spiąłem to. Przerzuciłem kod i co się okazało. Ruszył. Ale do szczęścia trochę brakuje, okazuje się, że nie rozpoznaje USB. Tzn ten sam dokładnie kod śmiga na Keilu, a na eclipse już nie. definicje: DEBUG USE_FULL_ASSERT TRACE OS_USE_TRACE_SEMIHOSTING_DEBUG...
Nie napisałem iż powyższy kod był wczorajszym dziełem na szybko. Popracowałem trochę nad nim i wyszło mi coś takiego: [syntax=cpp] #include "stm32f10x.h" #include "sample_dat.h" #define LED_GPIO GPIOB //port B #define LED_GPIO_RCC RCC_APB2Periph_GPIOB //port B #define LED_Pin1 GPIO_Pin_0 //pin 0 #define LED_Pin2 GPIO_Pin_1 //pin 1 #define BackLight_Pin...
Cześć. Dalej nie udaje mi się uruchomić tego modułu (RFM22B). Po tym jak staram się wysłać dane odczytuję rejestr przerwać i okazuje się, że mam błąd FIFO overflow/underflow. Nie wiem też jak sterować GPIO_0 i GPIO_1 dla tx i rx states. Czy ktoś kto już przeszedł przez podobne sprawy mógłby coś mi podpowiedzieć. Rejestry ustawiałem zgodnie z excelem...
Dziękuję za sugestię :) Śmieszne... Trzymając przycisk RESET, odpaliłem OpenOCD i nic... Pomyślałem... Wcisnę desperacko do tego przycisk USER-> Podpięty do GPIOA PIN_0 Dioda sygnalizująca komunikację pomiędzy komputerem a płytką zaczęła migać... Odpalił się nawet mój stary program... SysTick Timer zaczął działać... Dioda zaczęła migać co sekundę......
[syntax=c] #include "stm32f10x_conf.h" #include "stm32f10x_gpio.h" #include "stm32f10x.h" #include "stm32f10x_rcc.h" #include "stm32f10x_flash.h" #include "misc.h" #include "stm32f10x_exti.h" #include "stm32f10x_flash.h" #include "integer.h" //#include "rtc.h" #include "diskio.h" #include "ff.h" #include "ffconf.h" #include "stdio.h" //------- Pin Defs...
Witam! Mam problem z fatfs 0.09b (najnowsza; wersja 0.07 też nie działa) pod stm32f103vet6. Komunikacja SPI. Maksymalny prescaler SPI do debug'u. (Na każdej prędkości to samo). Disk timer proc na SysTick'u (działa). Karta formatowana na różne jednostki alokacji, FAT, FAT32 zawsze to samo. Nie korzystam z LFN. Strona kodowa 852, 125x, 1 (ANSI) bez znaczenia....
Procesor STM32F103ZET6 jest mikrokontrolerem ARM z rodziny Cortex M3, który jest taktowany zegarem o maksymalnej częstotliwości 72 MHz i zasilany napięciem +3,3 V z wyjścia stabilizatora napięcia LT1117-3.3 (oznaczony desygnatorem U10 ). Poniżej przedstawiam napisany przeze mnie kod pliku main.c na procesor STM32F103ZET6, który steruje steruje dwiema...
A inne przerwania np. timer? Jezeli ok to bym sie stosem nie przejmował. ale dostałem na praktykach sugestię, żeby zrobić wszystko na przerwaniach A przerwanie timera to nie przerwanie? :)
A nie masz tam czasem włączonego jakiegoś Watchdoga czy czegoś takiego co Ci resetuje procka? :)
[syntax=c]#define ONE_WIRE_SET_LOW ( GPIOA->BRR |= ( 1 << 3 )) #define ONE_WIRE_SET_HIGH ( GPIOA->BSRR |= ( 1 << 3 ))[/syntax] Powinieneś użyć normalnego przypisania "=", a nie logicznej sumy "|=". Nie ma to tutaj specjalnego znaczenia, ale warto o tym pamiętać. Sprawdź w manualu, czy timer którego używasz (jak wszystkie timery na...
Odpowiedź na Twoje pytanie jest trywialnie prosta. Rejestry które są buforowane (ARR, PSC i chyba jeszcze jakieś) aktualizują swój realny stan w momencie update'u, który występuje automatycznie w momencie przekręcenia licznika, czyli (w uproszczeniu) doliczenia do ARR. Ty w swoim wyjątkowo dziwnym kodzie fizycznie uniemożliwiasz wystąpienie update'u,...
W jakimś przerwaniu timera migasz diodą. w trakciemigania sprawdza jakąs flagę czy ma migać a jak nie to wylacza diodę. W pętli jak klawisz sie nacisnie (zakładamy tylko jeden stan - wyłaczenie - a właczenie migania następuje poprzez inny magiczny przycisk = reset) ustawiasz flagę na niemiganie. Jezeni wyłaczenie ma nastapić natychmiast (a nie przy...
IWDG ma timeout dopiero po 1,6s, a jest resetowany w tasku FreeRTOSa, który pstryka co 1ms, oraz w innym, który pstryka co 1s lub częściej, jeśli ma coś w kolejce... Jeśli używasz w ten sposób watchdoga, to w sumie możesz go nie używać wcale. Nie zabezpieczy Cię to wcale przed tym, że zawiesi się jakikolwiek inny task, a nawet jeśli zawiesi się jeden...
Nie musisz odblokowywać ani obsługiwać przerwań timera. Jeśli raz włączysz wyzwalanie ADC, będzie ono włączone (raczej - co prawda STM32F1 są strasznie skopane, ale chyba nie aż tak). No ale jak widać nie działa, nawet nie wchodził w przerwanie więc nie wiem już jak to powinno być poustawiane. DMA już chyba wysyła dobrze: 00 00 00 00 00 00 00 00 46...
Twoje problemy rozwiązałby jakiś TMS320 z serii C2000. Ale to tylko moje dywagacje. Jeśli chodzi o STM32F4 to musisz przemyśleć czy rzeczywiście 4 MHz jest niezbędne dla ADC. Kiedyś bawiłem się timerami w Keil'u więc kod wstępny na pewno Ci się przyda (kanały timera3 działają na GPIO->C6-C9): odznacz NVIC_EnableIRQ !!! ): [syntax=c]void TIM3_IRQHandler(void)...
Mój problem polega na tym że komunikacja z 2 czujnikami na i2c przebiega poprawnie dopóki nie odpalę przerwań od input capture z timerów. Komunikacja zawiesza się w losowo wybranych momentach, raz po 20 sekundach raz po 10 minutach. Gdy wyłączę przerwania to chodzi bez blednie. Mój procesor to stm32F103rb. Próbowałem już 3 sposobów na odczyt z i2c -...
Witam! Chciałem sobie zrobić prosty Counter zliczający ilość wciśnięć przycisku podpiętego do wejścia PA0. Skorzystałem z przykładu który zamieszczam poniżej. Niestety mój prosty Counter nie zlicza naciśnięć i zmienna cnt cały czas wynosi 0. Mam takie podejrzenie że przycisk nie jest programowo połączony z TIM2 tzn w funkcja TIM_TIxExternalClockConfig(TIM2,...
Witam, prosiłbym bym o pomoc, żeby ktoś wytłumaczył, albo podał przykład jak skonfigurować przerwania zewnętrzne w tym mikrokontrolerze bo walczę z tym i nic mi nie wychodzi i zaczynam podejrzewać, że to procek jest zepsuty, albo tej sztuki jeszcze nie opanowałem :D na początku pisałem własne kody, ale po nieudanych próbach w końcu wkleiłem gotowca,...
W main.c czarów nie ma , bo stworzyłem nowy projekt golasa na potrzebę uproszczenia szukania problemu. Nie jestem programistą ani elektronikiem ,a do sprawy podchodzę hobbistycznie jako początkujący. Korzystam z System Workbenach for stm32 + Stm32CubeMX z bibliotekami HAL. Cube szykuje wszystko po czym ja tylko dodaję funkcję HAL_SYSTICK_Callback. plik...
Całość kodu jest dość spora:) Czekam na flagę na pewno, ale nawet jeżeli nie, to zauważ że pomiędzy wywolaniami odczytu adc są spore odcinki czasu. Ano, zazwyczaj w takich sytuacjach używam volatile, tyle że wtym przypadku optymalizacja jest wyłączona. Program w zasadzie skończony, a zajmuje 20kB ze 128, więc optymalizacji nie właczałem. Dodano po 4...
A zapytam tak tylko dla formalności. Czy połączyłeś masy układu zasilania serw oraz płytki z µkrokontrolerem? Bo jeżeli generujesz poprawne sygnały sterujące, a masy obu układów są połączone galwanicznie, to nawet przy zasilaniu µkontrolera z 3,3V a serw z 6V powinno wszystko prawidłowo funkcjonować bez translacji poziomów sygnałów sterujących....
Zgadza się flagi poszczególnych zdarzeń są, chciałem powiedzieć że nie ma osobnych przerwań dla poszczególnych flag tak jak to jest w przypadku Timera1, i nie wiem co powoduje że pierwsze 3 przerwania w przypadki Timera3 i 2 przerwania w przypadku Timera2 nie generują przebiegu na wyjściu. Poniżej konfiguracja Timera2 http://obrazki.elektroda.pl/9351651600_1...
Sensowne rady były powyżej. SPI, ew. timer, w obu przypadkach z DMA. DMA jest łatwe do ogarnięcia, o ile nie używasz HAL. Poszukaj artykułu z EP sprzed paru lat o sterowaniu WS2812 przez SPI z STM32. Kod też tam znajdziesz. Rozwiązanie z timerem (gorsze, ale przy braku SPI ujdzie): Timer programujesz tak, by po preskalerze mieć zegar 2.4 MHz, okres...
Tak ustawione timery "produkują sygnał" , który zaczyna się od stanu niskiego, przez te 370ns. Ta część przebiegu z punktu widzenia LEDów jest końcówką poprzedniego bitu, albo w ogóle "nie istnieje", jeśli to pierwszy bit od początku transmisji. Dla LEDów bit zaczyna się od zbocza narastającego, kończy zboczem narastającym następnego bitu. Albo następuje...
Witam, muszę zaimplementować dekoder protokołu RC-5 z pilotów na podczerwień. Zamiast pisać wszystko od początku, postanowiłem skorzystać z gotowego kodu przeznaczonego dla jednej z płytek ewaluacyjnych STM'a - oto paczka z kodem biblioteki i przykładowym projektem http://www.st.com/internet/com/SOFTWARE_...
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 CNT. przy zliczaniu w góre (obrocie koła)...
Witam wszystkich. Uzywam Eclipse + OpenOCD (0.9.0) + GCC. Do tej pory używałem STM32F103 (Cortex-M3), a teraz przesiadłem się na STM32F373 (Cortex-M4). Wziąłem ze starego programu skrypt linkera, startup, vectors.c i posklejałem do kupy odpowiednio je modyfikując. Program generalnie odpala się, mogę sterować GPIO. Następnie spróbowałem uruchomić SysTicka....
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ł...
Czy ja dobrze czytam, że w przerwaniu od timera robisz set/reset pinów i to Twój PWM? To jest źle zrealizowane i nie da się wycisnąć prawdopodobnie więcej w ten sposób. Tutaj temat do poczytania https://www.elektroda.pl/rtvforum/viewto... Bez podawania ryby - to co powinieneś zrobić, to skonfigurować PWM sprzętowy i PIDem obliczać tylko...
natomiast reset systemu w main() - pomaga. Sprecyzuj ten "reset w main". Reset resetowi nierówny, ale o tym chyba wiesz? Niestety - z racji braku kodu każesz nam patrzeć w kryształową kulę chyba. Pokaż co się wykonuje w main (jak wspomniał kolega wyżej - wszelkiego rodzaju inicjacja itd.). Gdzie są ustawiane przerwania, ów timer itd...
Tzn TIM podałem tylko jako przykład, w rzeczywistości odnosi się to do wszystkiego. Bardziej logicznym zapisem dla mnie jest taki: [syntax=c]// to lub typedef jeśli ktoś chce #define bitband_t *(volatile unsigned int *) ... #define BITBAND_PERI(address,bit) ((BITBAND_PERI_BASE + (((unsigned int)address)-BITBAND_PERI_REF)*32 + (bit*4)))[/syntax] i teraz...
Hej, Wróciłem po dość długim czasie do STM i chcę stworzyć na początek kilka prostych programów. Natrafiłem jednak na problem, z którym nie mogę sobie od paru godzin poradzić, a wydaje mi się dość trywialny - może będzie ktoś w stanie wskazać co robię źle. Program ma być prosty: po naciśnięciu przycisku chcę, by dioda kilkukrotnie zamrugała. Chcę do...
Kierując się sugestiami o stosie, próbowałem już bardzo duży ustawiać, np. 17408 i efekt ciągle ten sam(mowa o innym miejscu programu, poprzedni problem załatwiony). Pytałem o inne ewentualności, bo teraz wykłada się po włączeniu funkcji, w której ustawiane i używane są timery, dma, adc i przerwania. Rusza to niby, timery też, sygnały wyjściowe się...
Koledzy. W tych ARM-ach stawiam pierwsze kroki, więc proszę mi wybaczyć lamerstwo, jeśli mi się zdarzy. Posiadam płytkę HY-miniSTM32 z wyświetlaczem HY32D i procesorem STM32F103VCT6. Używam środowiska CoIDE w wersji najnowszej, czyli 1.7.5 i toolchain GNU Tools ARM Embedded\4.7 2013q3 Ściągnąłem i otworzyłem pod CoIDE projekt glcd, umieszczony kilka...
Korzystam z przykładu od Freddiego stm32cl_blink_led-1.2.1-120107 i tam w vectors.c jest właśnie funkcja Default_Handler która kręci się w kółko... Poza tym zadeklarowanych jest dużo funkcji w tym: [syntax=c]// System tick timer void SysTick_Handler(void) __attribute__ ((interrupt, weak, alias("__Default_Handler")));[/syntax] oraz: [syntax=c] void Reset_Handler(void);...
Zamieszczam podsumowanie problemu, gdyby ktoś w przyszłości szukał ... Niestety mieliście racje, wyzwalanie timera nawet dla ARMa, a w zasadzie obsługa timera zajmuje bardzo dużoooooo czasu. Zamieszczę podsumowanie dla SYSCLK równego 180MHz: Dla poniższej obsługi przerwania, tylko na rejestrach uzyskana częstotliwość przełączania osiągnęła 6,349mhz...
stm32 timer reset timer reset stm32
piekarnik amica ustawić zegar bosch rozmrozić komunikacja profibus
Schemat elektryczny Manitou 628 MLT/MLA/MVT – diagnostyka, manual, typowe usterki AC and DC Electrical Work Hazards: OSHA, NFPA 70E, Arc-Flash, EV, BESS, Fatality Stats