po co w niektórych implementacjach takich 'rozbiegówek' mamy kod assemblerowy który kopiuje adres stosu do rejestru SP procesora? STM32 może używać dwóch stosów - jednego dla przerwań (nazwanego wyjątkowo myląco "main stack") i drugiego dla wątków (nazwanego "process stack") - a więc i dla "main()". To co jest w tablicy wektorów ląduje w MSP ("main...
The very first step jest modyfikacja pliku stm32_eth.h, plik ten zawiera definicje adresu rejestru statusowego zastosowanego PHY, oraz definicje masek bitowych zawierających informacje na temat położenie bitów prędkość oraz duplexu w tymże rejestrze. W przypadku ste100p jest to rejestr “XCVR Configuration Information and Interrupt Status Register”...
Ogólnie dobrze kombinujesz. Wyrzuć ustawienie VTOR z aplkikacji - niech ustawia go bootloader. W bootloaderze zawołaj procedurę spod adresu pobranego z adresu 4 aplikacji, czyli o 4 dalej niż wartość VTOR. Jedyna potrzebna zmiana w skrypcie konsolidatora - to adres startowy (no i zmniejszony rozmiar dostępnej pamięci ROM)
Po pierwsze, ważna sprawa. Adres kości w funkcjach HAL podawany jest w konwencji 8-bitowej (przesunięty o jeden bit w lewo względem drugiej konwencji występującej np. w dokumentacji tej kostki). Czyli dla QN8025 używasz adresu 0x20 (00100000). Druga rzecz. Nie wiem czy Twój moduł posiada oporniki podciągające linie I2C. Sprawdź, ewentualnie dodaj jeśli...
Nie ma możliwości zapisywania poszczególnych BAJTÓW (w uproszczeniu), a wygląda że to próbujesz zrobić. Funkcje zapisują zwykle 2 bajty na raz, adres zapisu powinien być więc parzysty, a Ty powiększasz zmienną Address tylko o 1 między wywołaniami.
Model płytki: stm32f407VET6 St linka mam tego pendriva małego. No to już coś bliżej. Tam w tym linku, który dałeś, masz nawet rysunek tych sygnałów na złączu, to nie powinno być trudne to podłączenie: https://obrazki.elektroda.pl/1729361300_... Sugeruję, po podłączeniu, zanim zaczniesz próby w Arduino, sprawdzenie najpierw czy program...
- po co było rzutowanie *(__IO uint32_t*) i dlaczego adres wyliczał się błędnie Nie wiem czemu to usunąłeś, ale to jest KONIECZNE. A to dlatego, że ty nie masz skoczyć pod adres (tablica_wektorów + 4), tylko pod adres który jest zapisany w (tablica_wektorów + 4). I właśnie po to było tam rzutowanie i dereferencja wskaźnika. 4\/3!!
Tz że router próbował przydzielić adres 192.168.1.102 ? Tak! Aby DHCP działało, twoje oprogramowanie musi je obsługiwać! Widać, że router próbuje ci wepchnąć adres 192.168.1.102, ale płytka milczy. Proponuję wejrzeć w kod i zacząć od tego, czy płytka odbiera ramki (obserwować całość Wiresharkiem). W płytce po odebraniu ramki (czyli funkcja ETH_CheckFrameReceived()...
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_...
Twoje urzadzenie zostalo wykryte jako Full Speed i gdybys przeczytal dokumentacje to wiedzial bys ze w tym trybie maksymalne dlugosci ramek w transferze BULK to 64 bajty a nie 512. Poza tym masz blad w adresowaniu endpointow, jeden powinien miec adres 81 (czyli tryb IN adres 1) a drugi 02 (tryb OUT adres 2). Owszem calej dokumentacji od deski do deski...
A jak znaleźć tą wartość powyżej/poniżej której ma zachodzić przerwanie i komutacja? Dla komparatora sprawa jest w miarę prosta - podajesz sygnał zsumowany i sygnał z danego odczepu (ten sygna zmienia się w zależności od krok komutacji) na komparator i tyle. W przypadku ADC podobnie - przełączasz ADC w tryb róznicowy - wykrywasz przejście z - na +...
Przykładów można szukać w SPL - można się w ten sposób dowiedzieć, w których rejestrach i co trzeba wpisać. Powoli szykuję tutorial do STM32 bez biblioteki, ale to jeszcze trochę potrwa. Kłopoty z bibliotekami są wielorakie. Ostatni kłopot - to to, do czego nas zachęcają przykłady z użyciem bibliotek, czyli deklarowania struktur jako zmiennych i pracowitego...
Powoduje wyrzucenie na serial port samych spacji. coś jeszcze może tu być źle źle? Kiedyś mówiło się, że problem jest typu "PEBKAC", ale teraz chyba nie wolno... Wiesz w ogóle jak działa funkcja printf() czy po prostu wklejasz na ślepo jakieś fragmenty znalezione z netu? Czego spodziewasz się podając do funkcji printf() adres zmiennej w której jest...
Witam STM32F103ZET +IS61LV256. (16 bitów) Pracuje na Bank 1 adres 0x600 0000 do 0x6FF FFFF. Jeśli FSMC_NE3 to jak jest adres w FSMC dla tej pamięci? Myślałem z jak Bank 1 ma "This bank is split into 4 regions with 4 dedicated Chip Select signals", to FSMC_NE3 (jak podzielę na 4 równe części ) będzie odpowiadać 0x600 0000 + 0x120 0000. Używam takiego...
Jak wygląda sprawa z przerwaniami? Tam zamiast przerwań są używane callbacki. To nie tak jest. Callbacki są całkiem do czego innego. W programie HALowym, to użytkownik pisze obsługę przerwań sprzętowych (tak jak w klasycznym podejściu "rejestrowym") a specyfiką HAL jest tylko to że dostarcza pewnych gotowców na obsługę przerwań. Przykładowo weźmy uart....
Witam, problem polega na tym że utworzyłem trzy zmienne globalne typu const uint8_t i kompilator przypisuje dwóm pierwszym ten sam adres 0x80030D4 . Trzecia zmienna już miała inny adres. Utworzyłem więc dwie kolejne zmienne do testów aby sprawdzić jaki otrzymają adres: const uint8_t ZMIENNA_TEST1=3; uint8_t zmiennaTest2=10; lecz niestety debugger ich...
Skrypt linkera z Cube'a "działa" tak, że na początku pamięci ram ląduje sekcja data (zmienne inicjalizowane przy starcie programu - lokalne statyczne i globalne), potem jest bss (zmienne zerowane przy starcie programu - nie inicjalizowane statyczne i globalne). Następny kawałek to _user_heap_stack - czyli sterta i stos "w jednym". Rozmiar data i bss...
SimpleMAC ma możliwośc obsługi do 10 węzłów, Ja bym nie był taki pewny :) Panowie z EP napisali coś, o czym nie mają pojęcia. Każde urządzenie (każdy MCU) ma własny, unikalny numer (wykorzystywany w przykładowej aplikacji jako long address) - 8 Bajtów. Dodatkowo (w przykładowej aplikacji solar-system.c) adres tzw. krótki programiści ustalili na UINT16....
https://obrazki.elektroda.pl/7314526000_... Po co? Bo potrzebowałem zastąpić taki zestaw urządzeń: https://obrazki.elektroda.pl/2866172900_... Czyli switcha 100M, ładowarkę USB, rozdzielacz, dwa 3 portowe (używane 4 porty w sumie) "wstrzykiwacze" PoE (jednego nie ma na zdjęciu) jednym urządzeniem, bo schludniej. Poza...
https://obrazki.elektroda.pl/6347997200_... Cześć. Od jakiegoś czasu chodził mi po głowie projekt dzięki któremu mógł bym sobie sterować światła w domu i w ogrodzie poprzez wifi. Funkcjonalność banalnie prosta i spotykana w zapewne tysiącach rożnych projektów, jeszcze jeden nie zaszkodzi. :) W trakcie rozmyślania i projektowania kilka...
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...
i oczywiście WinnerMicro W80x może być również zrzucony w tej aplikacji, jeśli adres startowy jest poprawnie ustawiony https://obrazki.elektroda.pl/1290401300_...
Cześć, Nie dawno zacząłem przygodę z STM32. I mam duży problem nad którym siedzę już parę dni. Chciałem stworzyć prostą komunikację z komputerem gdzie przez terminal odpowiednimi komendami będzie można gasić i zapalać diody i w drugą stronę przesyłać które diody są zapalone. nie wiem gdzie jest tu błąd więc Ustawienie GIPO void GPIO_Conf(void) { GPIO_InitTypeDef...
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...
http://obrazki.elektroda.pl/2463034100_1... Witam wszystkich, Chciałbym tym razem przedstawić projekt gotowego radiomagnetofonu internetowego. Jest to rozwinięcie opublikowanego wcześniej na Elektrodzie małego odtwarzacza MP3. Radiomagnetofon umożliwia granie strumieni radiostacji internetowych, nagrywanie tych strumieni na kartę SD,...
https://obrazki.elektroda.pl/9032300100_... Witajcie moi drodzy. Przedstawię tutaj unikalny zestaw płytek uniwersalnych pod elementy w obudowach SMD, obejmujący TQFP100, TQFP64 i TQFP48, różne SSOP, SOIC itp. Płytki te wyróżnia sprytne i uniwersalne poprowadzenie ścieżek, ułatwiające uruchomienie dowolnego mikrokontrolera (gotowe zworki...
Na wypadek, gdybyś nie zauważył: przy takich deklaracjach i treści procedury konfiguracji DMA, jakie masz obecnie, do rejestru adresu pamięci DMA wpisujesz wartość bajtową odczytaną z pamięci ze zmiennej TxBuf, rozszerzoną zerami do 32 bitów, czyli wysyłasz przez UART zawartość tablicy wektorów wyjątków.
Udalo mi sie w koncu, dokonczyc program. Zaczne moze od polaczenia: gpio13 <->mosi (sda) gpio14<-> sck (scl) gpio16<-> reset gpio3<->dc gpio5 ->pwm do sterowania podswietleniem (nie podlaczac bezposrednio pod podswietlenie tylko przez tranzystor - wiekszosc modulow ma taki tranzystor na plytce) cs wyswietlacza mozna podlaczyc...
Po kilku godzinach program odpaliłem ..... podświetlanie się załącza dopiero po naciśnięciu kilka razy klawisza, monitor pokazuje start i numery naciśnietych klawiszy i to nie za każdym naciśnięciem. nie wiem jak "zatrzymać" dany ekran menu żeby zrealizować inna funkcje np; zmiana stanu wyjścia /* * sterownik który wykończy mnie i innych ..............
Chcę dodać do Arduino IDE stm32 Blue Pill, według zamieszczonego tu opisu Opis na początku tego wątku stracił aktualność. W tej chwili obsługa płytek z STM32 jest dużo bogatsza i przede wszystkim oficjalnie wspierana przez firmę STM. Serwer który był tu na początku wątku wskazany do dodania do preferencji jest w tej chwili wyłączony i Twoje Arduino...
Dzień dobry, od dłuższego czasu próbuję wykonać projekt sterowania Transceivera RF CC120 firmy Texas Instruments za pomocą mikrokontrolera STM32F100RBT6B, który jest na płytce uruchomieniowej STM32VLDISCOVERY. Mam już napisaną część kodu, jednak nie jestem pewien czy SPI jest faktycznie poprawnie uruchomione oraz (i tu prośba do kogoś, kto się orientuje...
Tutorial jest pisany dla LPC2xxx. Dla STM32 nie ma to żadnego znaczenia, ale pominięcie tej komendy nic nie zmienia w kwestii adresu ładowanego programu - adres jest definiowany przez skrypt linkera. 4\/3!!
Flagę TXE powinno się sprawdzać PRZED wpisaniem czegoś do DR (to akurat nie jest wielkim problemem), ale przed odczytaniem DR powinno się sprawdzać czy flaga RXNE jest ustawiona - dopiero wtedy można odczytać to co jest w DR. Bez tego wciąż nie odczytujesz tego co chcesz - na etapie inicjalizacji odczyt masz praktycznie natychmiast po wpisaniu (bufor...
z tego co widzę to 19 przerwanie czyli moje prowadzi pod inny adres niż wszystkie No tak, tyle ze to przerwanie jest "19-te", tyle że przed nim jest kilka systemowych. Wg tabelki w manualu tych układów, adres wektora przerwań dla TIM14 to 0x8c, natomiast u Ciebie wektor jest pod 0x68... Błąd masz taki, że za bardzo w nią zaingerowałeś... Zwróć uwagę,...
Możesz sobie ściągnąć KepServer (OPC), wybrać driver MODBUS i spróbować się podłączyć. Serwer ma opcje diagnostyki. Ja obstawiam źle ustawione parametry portu szeregowego, albo adres MODBUS w urządzeniu z któym chcesz gadać jest inny.
Ja nie lubię STM32, a STM32 mnie! Muszę coś zrobić na STM32 i robię to w Truestudio. Na razie proste testy na przypomnienie sobie STMów i wejście w C++ i na dzień dobry ściana! Po kompilacji w tablicy wektorów przerwań jest tylko adres na DefaultHandler. Mimo tego, że nazwa funkcji obsługi przerwania jest taka sama jak w pliku ze startupem i funkcja...
laptop nie ma być po drodze. Laptop jest włączony niemalże 24/7 i jest podłączony do wifi. Konsola owszem, może się połączyć z wifi na 5GHz z funkcją wifi 6, ale już esp32, czy stm32 nie jest w stanie. Mam urządzenia, które nie są kompatybilne z najlepszym możliwym ustawieniem punktu dostępu w telefonie, ale wszystkie mają port ethernetowy. Dlatego...
Nie piszesz o Cortex-M, a o STM32 - popraw temat. U innych producentów uC wygląda to zupełnie inaczej. Pamięć spod adresu 0x08000000 w normalnym trybie pracy STM32 zostaje odwzorowana również pod adresem 0 - jest dostępna do odczytu (tylko) pod dwoma adresami.
Mój problem polega na ustawieniu MAC adresu układu STM32 komunikującego się z po łączu Ethernetowym. Wykorzystuje bibliotekę LWIP. Czy jest jakiś sposób aby ustawić unikalny MAC adres takiego układu, np. wykorzystując ID procesora aby bliźniacze układy w sieci nie miały konfliktu adresów?
Poleceniami Column Address Set i Page Address Set można ustawić adres piksela, jeżeli wartości początku i końca obszaru są takie same. Tyle że jest to niesamowicie nieoptymalne. To właśnie jest optymalne, ponieważ rysując bitmapy lub fonty (też bitmapy) podajesz współrzędne początkowe (X,Y), podajesz szerokość (W) i wysokość(H), a następnie ładujesz...
Nie. Architektura ARMv7-M obsługuje niewyrównany dostęp 16 i 32bitowy. Tylko dostęp na słowa większe niz 32bity (LDRD/STRD, LDM/STM) z niewyrównanym do 4 bajtów adresem rzucają fault. Inna sprawa, że w STM32 SFRy ogólnie nie lubią niewyrównanych zapisów lub zapisów o szerokości innej niz sam SFR. Ale to się nie kończy faultem, tylko dziwną wartością...
https://obrazki.elektroda.pl/7157591100_... Wydawać się może, że na temat konwerterów USB napisano już wszystko i nic nowego się nie pojawi. Nic bardziej mylnego. Najczęściej stosowane są konwertery USB-UART. Mają one szereg wad odczuwalny zwłaszcza przy współpracy z AVR a co za tym idzie większością Arduino. Wykorzystanie UART stwarza...
U mnie bootloader zajął 1 sektor 8k ale to na styk było a program który wgrywasz musisz zacząć od kolejnych sektorów np 2, 3 itd. Na końcu bootloadera dajesz adres skoku do odpowiedniego miejsca i to tyla. Hmm, coś mi nie pasuje, o ile dobrze wiem to STM32 w wersjach które znam ma sektory o wielkości 1K (dla wersji STM32F10X_LD, STM32F10X_LD_VL, STM32F10X_MD,...
czysta amatorszczyzna Biorąc pod uwagę fakt, że w niektórych STM32 pomiędzy drugim a trzecim elementem jest "dziura", to owszem - takie makro to czysta amatorszczyzna.
Witam, konstruuję aktualnie projekt alarmu i jedną z wytycznych MUSI być powiadomienie wiadomością mail. Jak samo połączenie STM32 do sieci WiFi przez ESP jest tako jako proste, tak nie wiem jak się zabrać za powiadomienie mail. Zasada jest prosta... jeśli mikrokontroler odbierze pewne zdarzenie, wtedy poprzez moduł powinien wysłać na dany adres e-mail...
Witam wszystkich, Rozpocząłem swoją przygodę z mikrokontrolerami stm32 od najprostszego z możliwych programów, a mianowicie miganie diodą. Po rozkręceniu PLL do 72 MHz, postanowiłem zmieniać stan diody co około 1s(w pętli opoźniającej zliczałem zmienną "int i" do 72000000). Problem polega na tym, ze stan diody zmienia się nie co 1s, a co kilka sekund....
Witam, Zaczynam przygodę z STM32 i mam problem z poprawnym wyliczeniem adresu pamięci dla FSMC do sterowania wyświetlaczem TFT. Na płytce posiadam mikrokontroler STM32F407ZET6 który steruje wyświetlaczem przez FSMC_A6 oraz FSMC_NE4. Prawdę mówiąc nie bardzo wiem jak określić adres do sterowania linią RS. Czy mógłby mi ktoś wyjaśnić jak to wyliczać i...
Ja tego używam, bo to mój kod. Struktura z HAL jest przygotowana dla CAN extended z maską, wówczas masz ID low/high oraz to samo dla maski. W innych trybach wykorzystywane są te same pola, mogliby zrobić jakąś unię dla czytelności, ale nie zrobili. Dla standardowego CAN z 11 bitami adresu, przy filtrowaniu z listą, w jednym banku możesz ustawić cztery...
Podsumowując... Loader umieszczony jest we flash od adresu 0 i nie ma od tego odstępstw. Aplikacja umieszczona jest pod dowolnym adresem we flash z wyrównaniem do 512. Żadne biblioteki nie maja kodu na stałe przypisanego pod konkretny adres, nawet SPL, wszystkie startupy i tak zależą od linkera, no chyba, że ktoś sobie coś udziwił i coś na stałe przypisał....
Witam Jak w temacie chcę połączyć dwa stm32 przez Ethernet ale bez PC, ustawić adresy statycznie, i wymieniać między nimi dane. W uip też ten ból występuje, a problemem jest przekazanie gotowej ramki IP do ARP, ARP nie mając adresu IP w swojej tablicy rozpoczyna procedurę pozyskania adresu MAC, a ramkę z IP odrzuca. Może w tym jest problem. Jeśli chcesz...
stm32 adres flash adres ekspandera poczta adres
router switch kablowy schemat prostej przetwornicy napięcia pentagram instrukcja
kierownica hulajnoga elektryczna
Volkswagen Passat B5 1.9 TDI – niezgodność otworu podszybia z ramieniem wycieraczki Ustawianie pompy wtryskowej w silniku 2.0 dCi