wyrównanie stm32

Znaleziono około 50 wyników dla: wyrównanie stm32
  • [STM32] Jak wymusić kolejność danych w sekcji eeprom STM32 przy optymalizacji GCC?

    Standard C nic nie mówi o kolejności zmiennynch w pamięci. Przyzwoity kompilator i linker będzie rozmieszczał dane w kolejności malejącego rozmiaru, a nieupywane będzei eliminował całkowicie. Chcesz mień znany rozkład danych - użyj struktury - kompilator nie ma prawa jej zoptymalizować, ale będzei stosował wyrównanie naturalne, czyli np. int32_t będzie...

    Mikrokontrolery ARM   28 Lip 2014 10:05 Odpowiedzi: 4    Wyświetleń: 1320
  • REKLAMA
  • [STM32][C/asm] - Zarządzanie stosem w funkcji obsługi przerwania

    Stos "w każdym momencie" musi być wyrównany do 8 bajtów. Czemu do 8 a nie do 4?

    Mikrokontrolery ARM   22 Maj 2014 09:55 Odpowiedzi: 5    Wyświetleń: 1968
  • Nie znalazłeś odpowiedzi? Zadaj pytanie Sztucznej Inteligencji

    Czekaj (2min)...
  • [STM32F4][C] - Zamiana bajtów miejscami "w locie"

    Szukałem, jednak nie potrafię znaleźć co to dokładnie jest te wyrównanie do 4 bajtów. Szukaj pod hasłem attribute aligned. Program wskakuje mi często do Default Handler. Rozmiar stosu już ustawiłem na dużą wartość, nic to nie pomogło. Może to być tego wina? Zdarzają się przypadki, że przyczyną wyjątków jest "niewyrównany" dostęp, ale w tym przypadku...

    Mikrokontrolery ARM   18 Mar 2015 15:53 Odpowiedzi: 59    Wyświetleń: 3402
  • REKLAMA
  • Dopasowanie napięć - coś jakby konwersja napięć

    Witam Mam procesor stm32 zasilany przez 3v. Sterując na wyjściem otrzymuję 3V (logiczna 1) i 0 (logiczne 0). Chciałbym przekonwertować napięcie z 3v na np 1,6V a dla 0 na 0,9V. Kombinowałem ze wzmacniaczem operacyjnym (symulacje w LT Spice) ale potrafię sobie tylko wygenerować napięcie dla jednego ze stanów. Jak rozwiązać ten problem? Nie chcę stosować...

    Początkujący Elektronicy   01 Mar 2017 22:25 Odpowiedzi: 1    Wyświetleń: 651
  • STM32 - USART: Rzutowanie float na int, brak części całkowitej liczby

    Witam, Jestem w trakcie pisania programu, gdzie jednym z wymogów jest przesyłanie liczb z przecinkiem po USARTcie. Napisałem bardzo prosty program, który "chodzi" bez zarzutów na kompilatorach C typu DEV-C. Sama konwersja wygląda tak: [syntax=c] float a,x,b,y; int c,d,e,u,p; char tab_1[4]; char tab_2[4]; x = 7.5; a = x/2; b = a*10000; c = (int)b; d...

    Mikrokontrolery ARM   06 Lip 2014 18:17 Odpowiedzi: 17    Wyświetleń: 2886
  • REKLAMA
  • [STM32] STM32F4 - Różnice w obliczaniu CRC między STM32 a PC dla danych 8-bitowych

    Witam Zmagam się z problemem obliczania CRC na STM32F4. Problem polega na tym że mam ramkę danych 100 bajtową złożoną z 96 bajtów danych a na 4 ostatnich obliczona suma CRC za pomocą wbudowanego modułu. Dane wysyłane są poprzez DMA+USART. Również do obsługi CRC używane jest DMA. Chodzi o to że dane są wysyłane poprawnie i poprawne odbierane. Problem...

    Mikrokontrolery ARM   25 Paź 2016 08:56 Odpowiedzi: 16    Wyświetleń: 2889
  • [STM32 + STM32CubeIDE] Silnik krokowy i enkoder inkrementalny różnicowy.

    Dzień dobry, W projekcie wykorzystuję silnik krokowy z zabudowanym na wale silnika enkoderem inkrementalnym różnicowym o rozdzielczości 16 384 imp/obr. Wykorzystuję płytkę NUCLEO-64, STM32L476RG. Ustawienia Timerów: https://obrazki.elektroda.pl/7295044200_... https://obrazki.elektroda.pl/6348434400_... Do timera3 mam...

    Mikrokontrolery ARM   12 Lip 2023 14:05 Odpowiedzi: 0    Wyświetleń: 345
  • [STM32F303] I jego różnicowy ADC z nieróżnicowym wynikiem

    Potrzebuję uruchomić tryb różnicowy w ADC1 tegoż potworka. Ale albo mi coś umyka, albo czegoś nie wiem, Bo wyniki oscylują w okolicy 2040, a powinny w okolicy zera. Inicjalizacja: http://obrazki.elektroda.pl/1373946000_1... C23 jest aktualnie zdjęty, więc PA0(ADC+) i PA1(ADC-) powinny być równe/wynik w ADC1->DR powinien wynosić jakoś...

    Mikrokontrolery ARM   10 Kwi 2017 19:41 Odpowiedzi: 10    Wyświetleń: 1299
  • [STM32] [C] - DMA w trybie cyklicznym nie nadpisuje wartości tablicy.

    Cześć piszę sterownik silnika krokowego i przez USART'a definiuję nieokreśloną ilość impulsów. Zatem jestem zmuszony nadpisywać dane w tablicy DMA . Unikając opisywanie nie dotyczących elementów obliczyłem sobie okresy dla każdego impulsu powiedzmy załadowałem je do tablicy src. Używam Bursta, mianowicie przesyłam Period, Repetition Counter = 0 . oraz...

    Mikrokontrolery ARM   15 Lut 2018 13:52 Odpowiedzi: 2    Wyświetleń: 780
  • [stm32][HAL]Output compare no output na dwóch kanałach

    Witam, Próbuję skonfigurować dwa przerwania output comare no output na dwóch kanałach timera 1. Korzystam z płytki nucleo stm32f103rb. Procesor taktuję zegarem 8MHz. Korzystam z CubeMx i biblioteki HAL. Preskaler i ARR ustawiam dla całego timera, a dodatkowo Pulse dla poszczególnych kanałów, tak aby uzyskać jedno przerwanie z częstotliwością 1Hz, a...

    Mikrokontrolery ARM   31 Lip 2017 23:14 Odpowiedzi: 10    Wyświetleń: 1908
  • Pomysł na realizację protokołu szeregowego na pinach STM32

    Cześć. Dość dawno się tu nie udzielałem, jakoś mi było nie po drodze. Trochę zmieniłem zainteresowania, trochę było dużo pracy i nieco odszedłem od elektroniki i niskopoziomowego programowania. Czas powoli wracać, ale dziś przychodzę z problemem :) Mam pewne urządzenie, zaprojektowane dobrych kilka lat temu. Urządzenie działa na STM32F407VGT6 , ale...

    Mikrokontrolery ARM   09 Paź 2022 19:04 Odpowiedzi: 3    Wyświetleń: 789
  • [STM32F4] STM32F4 C - Nieprawidłowy wynik mnożenia 32-bitowych liczb

    Mam taki problem z mnożenie dwóch liczb 32-bitowych, cały czas otrzymuję nieprawidłowy wynik. np. [syntax=c]uint32_t a = 15470591; uint32_t b = 512; uint64_t c; c = a * b; // otrzymuję: c = 3625975296 // powinno być: c = 7920942592[/syntax] Da się jakoś ten problem rozwiązać ?

    Mikrokontrolery ARM   17 Wrz 2012 19:37 Odpowiedzi: 4    Wyświetleń: 1662
  • [stm32][podstawy C] - Odczyt poszczególnych bajtów zmiennej

    Witam, Wiem, pytanie bardzo podstawowe ( dopiero raczkuję ) ale naprawdę coś nie mogę odnaleźć odpowiedzi w jaki sposób odczytać zawartość bajtów (bezpośrednio z pamięci) zmiennej strukturalnej? wszystkie moje pomysły nie podobają się kompilatorowi.

    Mikrokontrolery ARM   18 Gru 2015 17:47 Odpowiedzi: 6    Wyświetleń: 1593
  • STM32F103VCT6 - równoległe zadania: pomiar temperatury i generowanie fali

    witam mam problem z płytką [url=http://propix.com.pl/pl/p/Modul-STM... a mianowice, potrzebuję równolegle wykonywać operację pomiaru temperatury i generowania fali prostokątnej dla wentylatora, wszystko fajnie jak jest osobno bo działa, ale jak chce to połączyć przy pomocy uC-os to nie działa albo chodzi jedno zadanie albo drugie....

    Mikrokontrolery ARM   05 Cze 2014 20:20 Odpowiedzi: 3    Wyświetleń: 1029
  • REKLAMA
  • Ustawianie całego portu GPIO [STM32F4] [c/Crosstudio]

    Witam Chciałbym ustawić starszy bajt portu GPIOE. Wymyśliłem: Note: If both BSx and BRx are set, BSx has priority ale w stmf4xx.h nie mam BSRR jest tylko BSRRH i BSRRL napisałem tak: [syntax=c] GPIOE->BSRRH = 0xff00; GPIOE->BSRRL = data<<8; [/syntax] ale to strasznie pokraczne w końcu napisałem: [syntax=c] GPIOE->ODR = (GPIOE->ODR...

    Mikrokontrolery ARM   17 Kwi 2012 22:28 Odpowiedzi: 8    Wyświetleń: 2160
  • [stm32f4][przerwania] - Przerwania nie zawsze wykonują się poprawnie.

    Mam skonfigurowany I2C wraz z DMA do odbierania danych z sensorów. Inicjalizacja odbioru następuję z częstotliwością 100Hz i jest załączana przez timer, następnie standardowo w przerwaniach od I2C i DMA dane są odbierane. Konfiguracja jest prawidłowa, ponieważ gdy testuje odbiór danych podczas nieskończonej pustej pętli while w głównej funkcji main():...

    Mikrokontrolery ARM   24 Paź 2013 13:31 Odpowiedzi: 9    Wyświetleń: 2274
  • Inicjalizacja Unii STM32CubeIde: Deklaracja, Oczekiwane Wartości i Rzeczywiste Wyniki

    Mam problem z inicjalizacją Unii deklaracja: https://obrazki.elektroda.pl/4660954600_... Ja to zrobić prawidłowo. Jeżeli zainicjuje Conf_Frame conf_Frame = {.Frame_Array = '!','S',0b00001000,... To pola bitowe mam prawidłowo. Czy inicjalizując muszę odwracać kolejność bitów?

    Mikrokontrolery ARM   07 Maj 2023 13:44 Odpowiedzi: 9    Wyświetleń: 495
  • [STM32L100] Konwersja float do half-float na STM32L100 w C/Keil - jak to zrobić?

    Witam szanownych forumowiczów. Napotkałem na pewien problem który szczerze powiedziawszy nie wiem jak ugryźć. Potrzebuję zapisywać do pamięci liczby zmiennoprzecinkowe o zmniejszonej precyzji (half_float-16 bit). Liczba koniecznie musi mieścić się na 16bitach. Czy ktoś spotkał się może z funkcjami realizującymi np. konwersję float->half-float? Nie...

    Mikrokontrolery ARM   03 Lip 2014 14:17 Odpowiedzi: 9    Wyświetleń: 1056
  • [stm32] STM32: Problem z ustawieniem GPIOA BSRR w Eclipse/C

    Wiele użytkowników narzeka na biblioteki ST, więc postanowiłem zrezygnować z ich. Udało mi się ustawić RCC na 72MHz, ale teraz mam problem z GPIO. Po prostu nie chce mi ustawić "jedynki" w BSRR. Nie wiem co mam źle czy sama konfiguracja czy co innego. Mój kod: [syntax=c]int main( void ) { RCC_Init(); delay_init( 72 ); RCC->APB2ENR |= RCC_APB2ENR_IOPAEN;...

    Mikrokontrolery ARM   18 Lip 2011 18:24 Odpowiedzi: 3    Wyświetleń: 2367
  • [STM32G030][HAL_CUBE_IDE][FreeRTOS] Działanie warunku IF z użyciem zaokrąglania i porównania

    Hej. Mam problem. Na początek powiem, że używam FreeRTOS (choć wydaje mi się, że to bez związku). Mam taki kod: [syntax=c]przecinek=(float)licz/100; zmienna=(int)(round(przecinek)); if(zmienna >= 4 ) { fifo[i]=(int)round(przecinek); i+=1; }[/syntax] Działanie: zapisuję do "przecinek" liczbę zmiennoprzecinkową. "zmienna" powstała tylko w celu podejrzenia...

    Mikrokontrolery ARM   04 Paź 2020 20:13 Odpowiedzi: 7    Wyświetleń: 762
  • [C] - Jak przypisać zmiennej określony adres fizyczny?

    Pamięć BKP_SRAM w kontrolerach STM32F4xx zaczyna się od adresu fizycznego 0x40024000. Jak przypisać zmiennym które muszą się w tym obszarze mieścić adresy fizyczne? np. takie cos nie działa: [syntax=c] #define BKP_SRAM_BASE 0x40024000 uint32_t zmienna; void main(void) { &zmienna = BKP_SRAM_BASE; --- -- - [/syntax]

    Programowanie   09 Sty 2015 09:48 Odpowiedzi: 10    Wyświetleń: 1701
  • STM32 - USB przesiadka z uvision

    A dla czego? Pamiętam, że jak kiedyś przygotowywałem strukturę która miała różnej wielkości zmienne (1, 2 i 4 bajtowe), to przy wysyłce struktury nie były ułożone dokładnie jedne za 2 gimi tylko miały wyrównanie do 32 bitów. Ale to może kwestia kompilatora. Robiłem to w uvision. Jestem tak blisko uruchomienia, a nie mogę sobie poradzić... Usunąłem więc...

    Mikrokontrolery ARM   07 Mar 2016 16:41 Odpowiedzi: 12    Wyświetleń: 1545
  • STM32 - ZL29ARM - Uruchamianie płytki bez bibliotek

    Ok, nie zauważyłem tego v7-M. Racja. Ale dalej nie rozumiem, co dobrego robi __interrupt. Ew nie rozumiem, z jakiego powodu Twój kompilator bez __interrupt zapamiętuje rejestry, których nie musi zapamiętywać (bo przy wyjątku zrobi to procesor, a w innym przypadku - procedura wołająca). Aha, już wiem, co robi dodatkowy kod u mnie - to, o czym piszą w...

    Mikrokontrolery ARM   13 Lut 2013 10:14 Odpowiedzi: 99    Wyświetleń: 15594
  • Bezpieczny zakres adresów do zapisu danych we flashu na ARMach?

    Z kolei modyfikacja skryptu linkera ma tą wadę, że jeśli przeniosę kod na inny MCU to znowu bedę musiał ten skrypt modyfikować. Emulacja oparta na czystm C po prostu zadziała. No... bo każdy mikrokontroler ma dokładnie ten sam rozmiar strony i dokładnie ten sam kontroler pamięci, więc z pewnością zadziała Ci ten kod bez żadnych zmian... Ehe... Kupę,...

    Mikrokontrolery ARM   28 Gru 2017 17:55 Odpowiedzi: 86    Wyświetleń: 3120
  • Jak działa Stack Align w STM32F103?

    1. Co to jest dokładnie to wyrównanie stosu do 8 bajtów i do 4 bajtów, standard API zaleca 8 jak to wygląda w pamięci Chodzi o to, że w momencie "wejścia do dowolnej funkcji" wartość rejestru wskaźnika stosu (SP) ma być podzielna bez reszty przez 8. Do "wejścia do dowolnej funkcji" wlicza się również wejście do przerwania, a ponieważ kod tego w sposób...

    Mikrokontrolery ARM   04 Sty 2021 08:13 Odpowiedzi: 15    Wyświetleń: 1176
  • [STM32][Keil][C]Filtrowanie CAN po ID - nie przepuszcza ramek

    Nie zwykłem używać tych funkcji bibliotecznych jako że zaciemniają widok na zawartość rejestrów. Jak widzisz, identyfikator który wpisałeś jest wyrównany do prawej, podczas gdy według [url=http://www.st.com/stonline/products... powinien być wyrównany do lewej. Dokładne informacje znajdziesz w RM0008; bxCAN; 23.7.4 Identifier...

    Mikrokontrolery ARM   04 Lip 2011 09:20 Odpowiedzi: 2    Wyświetleń: 2854
  • [STM32F303][C]Atomic blocks - sekcje krytyczne w STM32

    Po kilkunastogodzinnych zmaganiach z wyrzucaniem programu do Default Handler Dzieje się to dlatego, że: 1. modyfikujesz stos, choć nie informujesz o tym kompilatora w sekcji "clobber" Twoich dyrektyw, 2. zostawiasz stos niewyrównany do 8 (na niektórych rdzeniach to nie jest problem, w sumie z STM32 domyślnie to jest problem chyba tylko na F1). Efekt...

    Mikrokontrolery ARM   04 Sty 2020 21:56 Odpowiedzi: 16    Wyświetleń: 1338
  • [STM32] - zwis przy próbie użycia przerwania (używam jednego stosu?)

    Nawet dla takiego małego Miki jak ja już na pierwszy rzut oka jest jasne że te kody to potężne źródło problemów. Co widać bez wgłębienia się w szczegóły: * Funkcja main() jako rozbiegówka to słaby pomysł. Kolega stmx napisał coś na ten temat (nawet podaje link w promowanych tematach), warto to przeczytać. * Stos musi mieć odpowiednie wyrównanie, zwykle...

    Mikrokontrolery Początkujący   10 Maj 2019 08:53 Odpowiedzi: 20    Wyświetleń: 1008
  • STM32F042 - HardFault przy wywołaniu VL53L1X_StopRanging

    (at)szelus Wiekszość startupów ma ten sam adres obłsugi tych wyjątków. Dlatego nazwą się nie sugeruj o ile nie zostały napisane ich handlery Nie wiem jak za bardzo działa "Instrution Stepping Mode", Nie. Normalnie wykonuje to na uC Macie pomysł co może być winą albo jak dojść do problemu? 1. Jeżeli masz zainstalowany Atolloc albo CubeIDE to znajdź...

    Mikrokontrolery ARM   02 Gru 2019 23:29 Odpowiedzi: 4    Wyświetleń: 519
  • [ARM/STM32] [ARM/STM32][GCC] memcpy czy DMA w FreeRTOS dla kopiowania 15 bajtów?

    Przecież pisałem na początku, aby odpowiednim atrybutem wyrównywać bajtowe tablice do 32bitów. Nie wszystko da się zawsze wyrównać, dostęp od początku danych nie ma problemu, ale jak dostęp jest do danych gdzieś np ze środka tablicy to już tego nie wyrównasz. Można napisać własną funkcje kopiującą która sprawdza wyrównanie i w razie czego niewyrównane...

    Mikrokontrolery ARM   05 Paź 2011 13:53 Odpowiedzi: 13    Wyświetleń: 3705
  • [STM32] Jak wgrać skompresowany obraz .jpg do flash przez Atollic?

    jak to zrobić aby te dane znajdowały się w drugiej połowie 128kB flash i zaczynały się dokładnie od początku drugiego 64kB?. A po co Ci takie coś? Adres wgranych danych możesz sobie pobrać ze wspomnianych symboli, nie musi to być więc jakaś stała wartość. No chyba że chodzi Ci o to, żeby dane nie zostały nigdy skasowane podczas wgrywania nowej wersji....

    Mikrokontrolery ARM   22 Sty 2019 23:59 Odpowiedzi: 8    Wyświetleń: 615
  • [Eclipse] Jak zaimplementować FreeRTOS w Eclipse z Codesourcery G++ dla STM32?

    Zmieniając łańcuch wywołań zmieniasz zużycie stosu. Coś mi świta, że kiedyś ktoś pisał coś o FreeRTOSie który jednak NIE wyrównywał sobie stosów do 8... Heap chyba też musi być do 8 wyrównany, bo przecież chyba właśnie na nim są stosy dla tasków... No generalnie pogoogluj, to powinieneś znaleźć - na 99% problemem jest wyrównanie, więc to jest hasło...

    Mikrokontrolery ARM   10 Lut 2012 14:44 Odpowiedzi: 20    Wyświetleń: 6807
  • [STM32] - Jak poprawnie zapisać i odczytać float w EEPROM?

    Możesz zrobić to np. tak: [syntax=c] typedef __packed struct { uint8_t byte_1 :8; uint8_t byte_2 :8; uint8_t byte_3 :8; uint8_t byte_4 :8; }ftobytes_t; float dana; ftobytes_t *zapis; zapis=(ftobytes_t*)(&dana); eeproma=zapis->byte_1; eepromb=zapis->byte_2; eepromc=zapis->byte_3; eepromd=zapis->byte_4; [/syntax] Ja opierałem się na kompilatorze RelView...

    Mikrokontrolery ARM   29 Kwi 2014 08:53 Odpowiedzi: 35    Wyświetleń: 6168
  • [STM32][eclipse z CodeSourcery]błedna kompilacja programu do komunikacji USB HID

    Problem to jest taki, że keil nie spełnia standardów języka C dotyczących kilku całkiem istotnych spraw. Jeśli kod o którym mówisz jest tym samym o którym myślę (nie chce mi się ściągać 14MB, bo pewnie wrzuciłeś tam pliki bin, elf i nie wiadomo jakie jeszcze zupełnie nie potrzebne do niczego) to w kodzie Keila jest mnóstwo operacji typu: Według mnie...

    Mikrokontrolery ARM   14 Lip 2012 14:57 Odpowiedzi: 38    Wyświetleń: 8029
  • [STM32F405] - Problem z użyciem zmiennej w wyliczaniu fizycznego adresu.

    A najlepiej połączyć strukturę z sekcją. Wtedy już jest zupełnie łatwe. Nie ma tu się czego uczyć więc to nie argument :D (obsługuje się jak zwykłe zmienne) Tylko w tej sekcji trzeba by wymusić dostęp jedynie z wyrównaniem do 4. Jak to wymusić nie wiem, ale na pewno się da.

    Mikrokontrolery ARM   11 Lut 2015 18:36 Odpowiedzi: 32    Wyświetleń: 2259
  • [OpenOCD] [OpenOCD][STM32] Błąd debugowania po dodaniu funkcji sscanf_ w kodzie

    Twój układ się wykrzacza. Przy używaniu funkcji variadic (ze zmienną liczą argumentów) KONIECZNE jest wyrównanie WSZYSTKICH stosów do 8. Poza tym w tej funkcji jest na stosie sporo zmiennych, przede wszystkim ten 100bajtowy bufor. To też może być problemem jeśli pamięć się kończy. 4\/3!!

    Mikrokontrolery ARM   08 Lut 2012 10:32 Odpowiedzi: 7    Wyświetleń: 2976
  • [STM32] Dziwne działanie ADC na STM32F100RB - problem z odczytem kanału PA1

    gaskoin - pytam dlatego, bo gdzieś kiedyś czytałem że w procesorach 32 bitowych dla każdego char itp. kompilator i tak rezerwuje całą komórkę 32 bit, nie używając po prostu reszty. Z tego wynika że adresowane są nie słowa 32 bit, ale pojedyńcze bajty, jeżeli dobrze rozumiem? Adresować możesz poszczególne bajty, a korzystając z bitbandingu - w ograniczonym...

    Mikrokontrolery ARM   07 Wrz 2012 08:48 Odpowiedzi: 17    Wyświetleń: 1923
  • [STM32] Tablica wielowymiarowa - wysyłanie przez USART

    to nie wiem jak jest pod STM-owymi ARM-ami, ale na większości (jeśli nie wszystkichi) nie 8-bitowych platformach, taka struktura wyrówna swoje membersy do granicy słowa platformy/rozmiaru adresowania, więc będzie dziura między nimi. Chyba, że się wyłączy lub wyspecyfikuje konkretny packing/aling. A niby czemu miałaby to zrobić, skoro tablica i pojedynczy...

    Mikrokontrolery ARM   30 Mar 2017 23:05 Odpowiedzi: 13    Wyświetleń: 1419
  • [STM32][C] - Dwie wersje bin w pamięci FLASH, skok pod wybrany adres

    Wiesz że dane zapisane w ten sposób zajmują 2x lub 3x więcej pamięci flash niż rozmiar struktury? Chodzi o wyrównanie Flasha do 4 bajtów? Próbowałem zapisać rzutując na int a nie char i dać size jako: [syntax=c] int size = sizeof(EEPROM_Data)/sizeof(int); [/syntax] I zapisywać do Flasha po 4 bajty ale nie działało. Dostawałem śmieci. [/quote]

    Mikrokontrolery ARM   26 Lut 2016 17:10 Odpowiedzi: 70    Wyświetleń: 5208
  • [STM32] STM32F103RB: HardFaultException przy przerwaniu DMA channel 1 po ADC

    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ą...

    Mikrokontrolery ARM   20 Paź 2013 22:51 Odpowiedzi: 17    Wyświetleń: 4070
  • [STM32] STM32 TrueStudio - Hardfault przy sprintf, jak poprawić kod?

    Pewnie się "o dziwo kompiluje", bo nie masz dołączonego nagłówka stdio.h Tak czy siak: - za mały stos - stos nie wyrównany do 8 - za mało pamięci na stertę to trzy przyczyny które odpowiadają za 99% problemów. Aha - no i doprecyzuj, czy układ się sypie PRZED czy PO sprintf(), bo nie do końca jest to jasne. Kolejna sprawa - istnieje pewna niewielka szansa,...

    Mikrokontrolery ARM   26 Lip 2012 11:38 Odpowiedzi: 6    Wyświetleń: 5430
  • Jak profesjonaliści używają bibliotek CMSIS w projektach STM32?

    Problemem w M0 jest brak opcji unaligned access. Jeśli funkcja jako argument dostaje adres i jest to adres dowolny tzn. niekoniecznie wyrównany do 4(2) bajtów to w przypadku M0 próba odczytania danych 32b(16b) z pod takiego adresu skończy się wygenerowaniem wyjątku. M3 i M4 wspierają unaligned access i dlatego funkcje dla obydwu rdzeni mogą mieć jednakowe...

    Mikrokontrolery ARM   29 Wrz 2018 07:17 Odpowiedzi: 43    Wyświetleń: 11868
  • STM32 - HardFault przy inicjalizacji zegara podczas zapisu na kartę SD w Keil

    Hard Fault może oznaczać włączenie przerwania do którego nie napisano obsługi. Mylisz się. Standardowa rozbiegówka definiuje "słabe" handlery przerwań zawierające puste nieskonczone pętle. To nie ma nic wspolnego z hardfault'em. Hardfault leci generalnie na 1) dostęp do nieistniejącej pamięci, 2) nierozpoznaną instrukcję rdzenia, 3) nad użycie magistral...

    Mikrokontrolery Początkujący   26 Sie 2015 19:23 Odpowiedzi: 13    Wyświetleń: 1389
  • [LPC1768][CodeSourcery lite/Yagarto] Wykorzystanie sprintf, kłopoty z działaniem

    chodzi o ALIGN ? Dokładnie, chodzi o ALIGN, ale nie tylko, bo generalnie ALIGNem wyrównujesz początek, a chodzi o wyrównanie końca... <: Wszystko zależy od konkretnej konstrukcji skryptu linkera i startupa... Zobacz jak to jest zrobione w moich przykładach (stm32). jaką flage trzeba dodać, aby kompilator ignorował przypisywanie do samego siebie?...

    Mikrokontrolery ARM   22 Lis 2011 23:50 Odpowiedzi: 10    Wyświetleń: 2371
  • [stm32] [STM32F101CB][Keil] Procesor resetuje się co kilka sekund - jak zdiagnozować?

    Co to są za brednie? Watchdog reset nie powoduje wyjątku HardFault , tylko SYSRESETREQ (sygnal wewnetrzny resetujący procesor). Po raz setny napiszę, kiedy hardfault wystepuje najczęsciej: - zapis nieprawidlowego adresu (instrukcje STR,STRB,STRH,STREX,STM...) - niedozwolone kombinacje przy PSR - wykrzaczenie się stosu lub źle wyrównany stos - użycie...

    Mikrokontrolery ARM   15 Cze 2011 06:20 Odpowiedzi: 7    Wyświetleń: 2445
  • STM32F4 [C] Eclipse - Dostęp i zarządzanie pamięcią ram.

    Do CCM dostęp ma tylko procek. Więc jakby to było możliwe chętnie bym tam zasadził stosy. Dzięki ze info. Tylko pytanie co do sekcji bo tworzenie ich jest dla mnie jak na razie czarną magią. Już znalazłem część sections w linkerze i podejrzewam że tam powinienem zrobić swoją własną sekcje tylko jak. .bss : { . = ALIGN(4); __bss_start...

    Mikrokontrolery ARM   05 Sty 2014 12:55 Odpowiedzi: 16    Wyświetleń: 3051
  • [STM32] Bit Banding vs GPIOx_BSRR/BRR - korzyści i różnice w użyciu

    Macie może pomysł na zautomatyzowanie tworzenia nagłówka ? No generalnie ciężko... myślę że nad skryptem spędziłbyś tyle czasu co robiąc to "pół-automatycznie". Do tego taki skrypt działałby tylko na nagłówkach od danego producenta, bo np NXP w nagłówku dla LPC17xx nie ma definicji bitów w ogóle, więc tylko manual. Mogłbyś Freddie cos wiecej napisać...

    Mikrokontrolery ARM   29 Maj 2012 09:20 Odpowiedzi: 58    Wyświetleń: 13543
  • [stm32F2] Błędy odczytu zewnętrznego RAM IS61LV25616AL na STM32F2 120MHz

    Witam Mam mały problem z odczytem ramu IS61LV25616AL, ram jako 16 bitowy 10ns, ustawienia Stm32F2 120Mhz Bank3 is enabled: BCR3_MBKEN bit set to ‘1’ Memory type is SRAM: BCR3_MTYP is set to ‘00’ to select the SRAM memory type Databus width is 16 bits: BCR3_MWID is set to ‘01’ to select the 16-bit width The memory...

    Mikrokontrolery ARM   08 Sty 2012 21:58 Odpowiedzi: 6    Wyświetleń: 2225
  • [STM32F4][C] Coś zawiesza ADC po pierwszej konwersji

    Co do stosu to nie jestem pewien. Wziąłem ten skrypt linkera: https://github.com/PaxInstruments/STM32C... Widzę tam tylko: _Min_Stack_Size = 0x400;; /* required amount of stack */ Czy rozmiar stosu jest jeszcze gdzieś indziej? Bo...

    Mikrokontrolery ARM   22 Lut 2018 22:44 Odpowiedzi: 16    Wyświetleń: 1365
  • [STM32F100] STM32F100 - błędy przy programowaniu pamięci FLASH w gcc/eclipse

    Prawdopodobnie adres przekazywany w argumencie src jest nieparzysty. Zadeklaruj bufor danych, które chcesz zapisać w pamięci jako wektor uint16_t albo unię uint16_t i uint8_t, ew wymuś wyrównanie przez _Alignas.

    Mikrokontrolery ARM   20 Gru 2017 20:55 Odpowiedzi: 22    Wyświetleń: 1029
  • [stm32f4,linaro] [STM32F4, Linaro] - Hard fault przy printf z parametrami w LWIP_DEBUGF

    O rozmiar stosu, bo printf to lekko licząc zwykle sobie zajmuje z 750B. No i jeszcze dochodzi wyrównanie stosu do 8, co również może być czasem problemem przy printf(), choć tutaj akurat nie. Proponuję na początek zamiast printf() stosować iprintf(), bo raczej żadnych zmiennoprzecinkowych liczb nie będziesz używał w takim zastosowaniu. 4\/3!!

    Mikrokontrolery ARM   03 Lut 2013 18:46 Odpowiedzi: 8    Wyświetleń: 2097
  • [STM32F4] [STM32F4][C] - ADC - niezerowy odczyt przy VBAT zwartym do masy

    Chciałbym zmierzyć napięcie na końcówce VBAT w STM32F427. VBAT jest podłączone wewnętrznie do kanału 18 ADC1. Napięcie VBAT jest za pomocą wewnętrznego dzielnika napięcia dzielone przez 4. Na potrzeby testów zamiast baterii podłączyłem potencjometr: skrajne końcówki do zasilania, ślizgacz do VBAT. Ogólnie ADC działa, odczytywana wartość zmienia się...

    Mikrokontrolery ARM   11 Paź 2014 09:11 Odpowiedzi: 1    Wyświetleń: 1548
  • CMSIS stm32f103 obsługi drgań styków w przerwaniu

    To da się bardzo prosto zrobić z przerwaniem od zbocza: - przerwanie od zbocza blokuje przerwanie od zbocza i uruchamia timer w trybie one shot, - przerwanie timera włącza przerwanie od zbocza. Jak widać wystarczy dedykowany timer i dwa przerwania i już można obsługiwać przycisk przerwaniem od zbocza. Zamiast dedykowanego timera może być programowy...

    Mikrokontrolery ARM   18 Maj 2018 08:26 Odpowiedzi: 49    Wyświetleń: 2373
  • Ilu bitowe są wskaźniki w STM32F4xx? Dostęp do pamięci powyżej 64kB

    Wskaźniki są 32 bitowe, wystarczy spojrzeć do jakiegokolwiek manuala jak adresowana jest pamięć. http://www.st.com/web/en/resource/techni... Żeby dostać się pod dowolny adres wystarczy [syntax=c] uint8_t* wskaznik = (uint8_t*)(0xADRESS_KOMÓRKI); [/syntax] i potem [syntax=c] *wskaznik = zapis; odczyt = *wskaznik;...

    Mikrokontrolery ARM   20 Wrz 2015 19:01 Odpowiedzi: 19    Wyświetleń: 1128
  • stm32f407 - DMA wyzwalane TIM4 w trybie PWM nie działa, co sprawdzić?

    mi nie chodziło o rozmiar elementy tablicy,tylko połozenie w pamięci (wyrównanie). Chodziło mi o liczbe transferów do wykonania - czy sie zmieniła po odpaleniu.

    Mikrokontrolery ARM   28 Maj 2016 16:02 Odpowiedzi: 18    Wyświetleń: 1236
  • STM32F4 - UART: Przerwanie trafia do Default Handler zamiast obsługiwać UART

    Niedawno stoczyliśmy z Freddiem potyczkę, w wyniku której wyszło, że w niektórych Cortexach STM nie jest włączone domyślnie wyrównanie stosu przy wyjątkach, i z tego powodu procedury obsługi przerwań powinny być na nich deklarowane z atrybutem interrupt. Nie wiem, czy dotyczy to również M4F. Co prawda w takim przypadku problem byłby przy wywołaniu innej...

    Mikrokontrolery   08 Sty 2013 23:05 Odpowiedzi: 18    Wyświetleń: 2481
  • Konfiguracja STM32F103VCT6 z JLink i Segger GDB Server - linker script

    Czyżby? Czy dla AVR ktokolwiek przejmuje się skryptami linkera, startupem, tablicą wektorów i Makefilem? Przecież dla tej platformy jest DOKŁADNIE TAK SAMO jak dla ARM, a jakoś nikomu nawet na myśl nie przyjdzie zajmować się tymi plikami - każdy korzysta z gotowców zawartych w pakiecie avr-gcc. Te pliki tam fizycznie są, nikt nie zajmuje się tym jak...

    Mikrokontrolery ARM   23 Paź 2012 21:46 Odpowiedzi: 27    Wyświetleń: 3872
  • Przykładowe projekty ARM dla NXP LPC2103 i ST STM32F103RB w Eclipse

    No to przykładowe projekty w wersji 1.2.0-rc1 zamieściłem na swojej stronie - www.freddiechopin.info w Download > ARM > Przykłady Czekam na komentarze dotyczące nowości czyli: 1. Kompilacja plików w dowolnych folderach 2. Nieco bardziej standardowe nazwy w pliku Makefile 3. Możliwość definiowania rozszerzeń plików z kodem 4. Możliwość wywołania...

    Mikrokontrolery ARM   21 Maj 2013 09:25 Odpowiedzi: 341    Wyświetleń: 101478
  • [STM32L4] [GCC, FreeRTOS] Hardfault podczas korzystania z sprintf z floatami.

    Ja bym się tam nie poddawał. Jeśli nie działa Ci printf() z floatami, to - jak pisałem - jest spora szansa, że w projekcie masz poważny problem związany z wyrównaniem stosów. Zignorujesz semihosting to w końcu trafisz na inny objaw tego samego, nierozwiązanego problemu. W każdym razie problem z wyrównaniem stosów objawia się też tak, że czasem takie...

    Mikrokontrolery ARM   25 Kwi 2017 06:12 Odpowiedzi: 14    Wyświetleń: 1875
  • STM32 bootloader - Jak relokować tablicę przerwań dla bootloadera i aplikacji?

    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ł....

    Mikrokontrolery ARM   12 Lis 2014 21:49 Odpowiedzi: 17    Wyświetleń: 2733
  • STM32H753 - brak transmisji UART z DMA1, konfiguracja DMAMUX

    1. Konfiguracja kanału DMA1_Stream1, ale bez włączania go. 2. Konfiguracja multipleksera DMAMUX1_Channel1 i tutaj chyba trochę brakuje. Sprawdziłbym jeszcze ustawienia pozostałych bitów z rejestru. 3. Włączenie DMA1_Stream1 poprzez: DMA1_Stream1->CR = DMA_SxCR_EN; 4. Włączenie żądania transferów DMA z UART poprzez UART4->CR3 = USART_CR3_DMAT; Jak wygląda...

    Mikrokontrolery ARM   08 Sty 2019 23:32 Odpowiedzi: 23    Wyświetleń: 1224
  • STM32L151 - GCC deklaracja zmiennych w pamieci eeprom

    Zakładając, że nigdzie w skrypcie linkera nie masz dyrektyw ALIGN(), to zapewne jest to narzucone przez model pamięci i/lub algorytm programowania w OpenOCD. Możesz ewentualnie spróbować wprowadzić w tej sekcji wyrównanie do bajta (ALIGN(1)), jednak nie wiem czy coś to da, a istnieje pewne szansa, że zaszkodzi... W każdym razie jeśli masz uint32_t i...

    Mikrokontrolery ARM   05 Maj 2014 13:11 Odpowiedzi: 7    Wyświetleń: 1446
  • Budowa pompy ciepła z jednostki zewnętrznej klimatyzatora - szczegóły konstrukcji

    Gdzieś to już słyszałem ;) https://www.elektroda.pl/rtvforum/viewto... Strona 32 defrost czyli rozmrażanie. https://planetaklimata.com.ua/instr/Tosh... Zebrali się chłopaki, dyskutowali, ale do konkretów nie doszli, a część nawet nie załapała o jakie ciśnienie chodziło....

    Wentylacja i Klimatyzacja   04 Mar 2021 19:53 Odpowiedzi: 71    Wyświetleń: 53064
  • Optymalizacja wykorzystania czcionek we flash dla wyświetlacza eink na kontrolerze ssd1619

    Przecież ten wyświetlacz pozwala zapalić i zgasić dowolny pixel. Tylko, że ram X adresujesz co 8 bitów, czyli na raz operujesz 8 pikselami. Jeżeli wyświetlacz ma w X 400 pikseli, to adresy w ram są od 0 do 49. Nie musisz się też ograniczać do znaków o szerokości będącej wielokrotnością 8 bitów. Możesz rozważyć drukowanie znaków proporcjonalnych do...

    Mikrokontrolery   04 Sty 2021 23:22 Odpowiedzi: 15    Wyświetleń: 699
  • Nieprawidłowa konwersja pliku *.elf na *.bin narzędziem arm-none-eabi-objcopy

    Wyrównanie stosujesz domyślnie dla każdej sekcji ? Czy tylko .text ? Aktualnie stosuję dla wszystkich które lądują w takiej lub innej formie we flash i zawierają kod. Natrafiłes na podobny problem czy dałeś wyrównanie profilaktycznie ? W commicie jest to opisane - obiekt z odpowiednio dużym wyrównaniem potrafił sprawić, że kod przestawał działać prawidłowo,...

    Mikrokontrolery ARM   05 Sie 2019 11:30 Odpowiedzi: 15    Wyświetleń: 888
  • STMF4, I2S - UDA1334BT - charczący dźwięk, konfiguracja Master Clock?

    Co do konfiguracji PLL to nie wiem bo u mnie kodek był masterem i nie potrzebowałem konfigurować PLL. Możesz wymusić wyrównanie bufora przez: [syntax=c] __attribute__ ((aligned(4))) [/syntax] Na stm32f1 na pewno jest problem z DMA i SDIO w przypadku niewyrównanych buforów do 4. Ten bug jest o tyle nieprzyjemny, że w przypadku dużych transferów z/do...

    Mikrokontrolery   20 Maj 2014 15:20 Odpowiedzi: 41    Wyświetleń: 5739
  • Jak podłączyć i skonfigurować MCP4822 z Nucleo F103RB przez SPI?

    Witam! Mam następujący problem. Podłączam gitarę do przetwornika ADC w mikrokontrolerze Nucleo f103rb. Podpinam ją w taki oto sposób: https://obrazki.elektroda.pl/4729012400_... Wzmacniacz zasilam niesymetrycznie więc należało dodać 1,65V do sygnału dla symetryzacji. Ustawiłem odpowiednie wzmocnienie w sprzężeniu zwrotnym i teraz kiedy...

    Mikrokontrolery Początkujący   24 Kwi 2019 17:13 Odpowiedzi: 2    Wyświetleń: 519
  • Nucleo f103rb, ADC z 2 wyjściami PWM, przesył danych

    A jaką precyzję mają te rezystory? Mierząc ich wartości dokładnie wyszło mi, że stosunek wyszedł około 64,3 do 1. Jeden z nich miał 1%, drugi chyba 5%, akurat takie miałem. A z innej beczki powstał mi nowy problem, ogólnie kod został dosyć skopiowany z jakiegoś artykułu, więc może być parę błędów w odniesieniu do moich zapotrzebowań. [syntax=c] #include...

    Mikrokontrolery Początkujący   07 Sie 2018 14:36 Odpowiedzi: 14    Wyświetleń: 525