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 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...
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...
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);...
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...
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...
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...
[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...
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ę......
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 //...
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...
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 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....
Nie napisałeś nic o środowisku programowania. Jeśli to jakaś samoróbka Eclipse, stawiam na błędną konfigurację stosu/stosów. żeby poprawnie obsłużyć przycisk w przerwaniu portu, musisz i tak mieć przerwanie timera i wyłączać przerwanie przycisku po jego przyjściu, a potem włączać je w przerwaniu timera - bez sensu - dużo łatwiej i krócej zrobić to w...
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...
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,...
ADC trzeba skalibrować przed włączeniem go do pomiarów. Zobacz, które bity NIE mogą być ustawione podczas kalibracji - jest o tym w manualu. Podpowiem - ADEN, czyli enable. A więc tak, w manualu nie ma nic o ADEN, jako Enable jest ADON. I jest faktycznie napisane: Before starting a calibration the ADC must have been in power-off state (ADON bit = ‘0’)...
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 -...
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...
[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...
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....
Owszem, aby zmienić PSC należy wyczyścić flagę, jednakże ustawiam to tylko raz. Eh, starałem się w miarę czytelnie przedstawić kod, przepraszam, jeżeli sprawia on trudność w odczycie. No tak zrobiłem, zrobiłem przerwanie od zbocza opadającego i narastającego, nie jest to za dobre rozwiązanie i raczej jest ono do poprawienia. Jednakże mam problem z...
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...
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 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)...
A nie masz tam czasem włączonego jakiegoś Watchdoga czy czegoś takiego co Ci resetuje procka? :)
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ł...
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...
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...
poszukaj sobie w timerze 1 takiego bitu o nazwie MOE P.S. Skoro używasz przykładu, to czemu nie skorzystać z funkcji konfigurującej wyprowadzenia, tak aby nikt nie musiał się zastanawiać co robisz i czy na pewno wszystko? P.S.2. Zerowanie wszystkich rejestrów timera jest całkowicie zbędne. Jeśli czujesz przemożną chęć resetowania timera, to w RCC masz...
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...
Witam! To znowu ja. Uczyli w szkole o generale, co się kulom nie kłaniał, a ja mam rejestry, co się resetu nie słuchają, ani sprzętowego z pinu, ani z jtag-a. Jak to rozumieć? Timer i dma też nic sobie z resetu nie robią. Teoretycznie po resecie powinienem mieć w rejestrach reset value, ale przynajmniej w wymienionych tak nie mam. Pomaga dopiero wyłączenie...
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);...
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...
Witam! Jakie to szczęście że was widzę w swoim topicu-wiadomo, że coś z tego wyjdzie. Z natury urządzenia wynika, że zmiany stanów wyjść, a więc i OCxREF nie będą równoczesne, a więc i żadania do dma też. W jednym czasie będzie potrzebny transfer do jednego tylko CCR. Nie wiem tylko czy i jak da się dany kanał dma przekonać, że ma reagować na dane...
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,...
Jaka jest wielkość tego większego kołowego bufora i czy jest podzielna przez 3? Co ile sekund bufor się zawija? Gdyby nie był, przyczyna "przeskakiwania" byłaby raczej bardzo prozaiczna ;) Bufor jest malutki, 64x3 bajty. Jest takim pośrednim stopniem przed finalną obróbką danych. Do tego bufora trafiają paczki po 3 bajty, następnie w przerwaniu DMA...
Tego jeszcze nie grali ;) Wstawiłem tą funkcję do przerwania od Timera TIM3_IRQHandler i procek stawał. Potem wstawiłem tą funkcję do funkcji main i było OK. Wstawiłem tą funkcję z powrotem do przerwania i odpiąłem JTAGa i cyka. Hmm ciekawe. Więc w sumie procek się resetuje ale jest to rozwiązanie trochę pośrednie do tego, które chciałem wykorzystać....
Poczytałem manuala do JTAga i spróbowałem wgrać kod przez OCD. Wywołuje go z parametrami: -f scripts/interface/ftdi/jtag-lock-pick_ti... -f target/stm32f1x.cfg -c "adapter_khz 1000; reset_config trst_and_srst; init; reset init; flash write_image erase C:/ARM/project_eclipse/stm32_timer/out/s... reset run; shutdown;" Otrzymuje błędy:...
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...
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 przykładowe aplikacje jednak dalej nie potrafię tego uruchomić....
Mam dosyć nietypową prośbę. Potrzebowałbym plik bin który ustawia i resetuje pin PA3 co 500ms. Niestety albo ja czegoś nie doczytałem albo to "coś" nie jest napisane: Z PLL wychodzi 64Mhz (kwarc 16Mhz) void RCC_Configuration(void) { ErrorStatus HSEStartUpStatus; //RCC system reset(for debug purpose) RCC_DeInit(); //Enable...
stm32 timer reset timer reset stm32
karta pamięci uszkodzona renault laguna zegary czujnik pralka
manetka hulajnoga manetka hulajnoga
Czy wirus z poprzedniego laptopa może przenieść się na nowy? Kocioł Junkers SupraStar - główny palnik nie działa