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....
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...
Przecież 1 timer może wykonywać kilka (naście) zadań. Np. odmierzać kilka czasów, obsługiwać wyświetlacze LED, przyciski, odtwarzać muzykę. I to tylko 1 timer odpowiednio oprogramowany.
[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...
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ł...
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...
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...
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...
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 Moje pytania dotyczą mikrokontrolerów z rodziny stm32f103. Czy właściwą praktyka jest wyłączanie zegara RCC danego peryferium np. ADC w trakcie działania programu w celu rekonfiguracji ADC w trakcie działania programu? Ogólnie triggeruje pomiar ADC co ściśle określony okres czasu (wyzwalanie timerem) na jednym kanale ale czasami potrzebuje się...
[syntax=c]//-=-=-=-=-=-=-=-=-=-=-=-=-=-=... // Task FreeRTOS - obsluga interfejsu sieciowego //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=... void vTaskEthernet(void * pvParameters) { /* uIP */ int i; struct uip_eth_addr mac_addr; //MAC Address struct...
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...
Pojawił się u mnie ostatnio problem po dodaniu w programie przerwania od Timera. Dotychczas działało wszystko super, debagowanie trybie krokowym działało bez problemu itd. Po dodaniu przerwania program również działa ale niestety w trybie krokowym...nie do końca. Gdy zatrzymam rdzeń w jakimś miejscu programu i wykonam następną instrukcję pojawia się...
Można. Potem z 8251 wchodzimy na przejściówkę USB i w ten sposób łatwo osiągamy 1/10 funkcjonalności tego, co ja mam w jednym STM32. ;) Myślałem sobie kiedyś, żeby z chińskiego modułku STM32F103 zrobić tylko generator zegara i RESET dla procesora oraz widziany przez uP jak układ peryferyjny niby UART z USB po drugiej stronie, ale rozwiązanie z całym...
STM32 robi za wszystko poza procesorem - pamięć ROM i RAM, reset, zegar, port konsoli, timer i port LED, a dodatkowo za sprzętowy monitor z pracą krokową, deasemblacją, edycją pamięci, ładowaniem plików .hex i wieloma innymi funkcjami. Ogólnie FPGA nadaje się lepiej do takich zabaw, ale ciut trudniej się programuje i rzeźbi w nim złożone urządzenia...
Tak oczywiście: Podobnie zresztą jak w kodzie, który wyżej dałem. [syntax=c]void EXTI15_10_IRQHandler(void) { if(EXTI_GetITStatus(EXTI_Line13) != RESET) { // Czyszczenie flagi przerwania EXTI_ClearITPendingBit(EXTI_Line13); //TIM_SetCompare1(TIM2, 200); // okolo 60ms //TIM_SetCounter(TIM2, 0); // zeruj licznik // Wlaczenie timera //TIM_Cmd(TIM2, ENABLE);...
Faktycznie, rozwiązanie kwestii działania SPI było dosyć proste i po sprawdzeniu - SPI działa. Odczytuję zapisany wcześniej rejestr poprawnie. Teraz mam inny problem. Poniżej zamieszczam program z pliku main.c, w którym są dodane miejsca wysyłania kolejnych numerów przez UART i program zatrzymuje mi się po wysłaniu numeru 88. Nic więcej się nie dzieje,...
Co do samego programu to co racja to racja. Można było wykorzystać licznik, który dałby większą dokładność, ale to nie było istotą problemu. Koledze chodziło o skorzystanie z timera w celu zmniejszenia poboru prądu przez to twoje urządzenie. Mikrokontroler powinien cały czas spać, bo nic nie robi, do tego powinien chodzić na jakimś niskim zegarze....
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 -...
odp do tmf: No to chyba będzie mi trzeba tłumaczyć to łopatologicznie. Jeśli dobrze zrozumiałem dokumentacje, to funkcja reset ma za zadanie po odpowiedniej sekwencji sygnałów(480us na 0 i do 60us w stanie 1), przełączyć 1-wire na stan niski na czas 60-240us i w tym odcinku czasu funkcja powinna odebrać stan niski. No i mi, mimo iż sprawdzam 1-wire...
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 od TIM1, ale timer liczy cały czas, czyli jeżeli...
Reasumując: 1. Włączasz zasilanie = nie działa 2. Wykonujesz reset STM'a = działa ? Mógłbyś jeszcze "main'a" pokazać, albo najlepiej odchudź kod do obsługi tylko SPI i wrzuć cały projekt. dokładnie... Wydaje mi sie że SPI po uruchomieniu mikrokontrolera nic nie wysyła, dopiero po resecie. Nie mam oscyloskopu aby to potwierdzić. int main(void)...
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ć....
Wykorzystując timer 16-bitowy oraz preskaler 65535 chciałbym wywołać przerwanie co 1 minute(59,6 sekundy) i w efekcie naprzemiennie zapalać i gasić diodę: [syntax=cpp] void Clock_init(void); void GPIO_init(void); void Tim1_init(void); int main(void) { Clock_init() ; GPIO_init(); Tim1_init(); while(1){;} } void Tim1_init(void) { TIM_TimeBaseInitTypeDef...
Witam. Wygenerowałem kod w STM32CubeIDE. Problem polega na tym, że gdy debuguje go, to mogę swobodnie przechodzić krok po kroku do kolejnych instrukcji programu. Po wyłączeniu debugowania w celu pozwolenia mikrokontrolerowi działać swobodnie, ten nie chce działać. Znalazłem tako oto radę dotyczącą SysTicka: "You have to be very carefull when using HAL_Delay(),...
A nie masz tam czasem włączonego jakiegoś Watchdoga czy czegoś takiego co Ci resetuje procka? :)
stm32 timer reset timer reset stm32
elektryczny paralizator schemat symbole graficzne schematów sterować przekaźnikowy
electronics zasilacz tester diagnostyczny
Czy JBL Flip 4 powinien być całkowicie szczelny? Dym z nadkoli Audi A4 B6 1.9 TDI 2001 - przyczyny