(at)toch88 Nie ma powodów, aby nie stosować takiego zapisu. Np. Atmel w swoich nagłówkach dla ARM daje możeliwość korzystania z pól bitowych, lub składania wartości z masek i przesunięć. Przy czym jeśli korzystasz z pól to wygodnie jest użyć compund literals: http://mikrokontrolery.blogspot.com/2011...
A mapowanie działań na porcie w pamięci i maskowanie przed zapisem do fizycznego rejestru portu? Coś jak w PLC. Potrzebujesz żeby to szybkie było? Inna rzecz że weź nawet dwukanałowy oscyloskop i potestuj na jakimś arduinku.
Kod mający kilkadziesiąt tysięcy linijek kodu :) Z pewnością ktoś chciałby go sprawdzać. Kod jest z pewnością dobry, bo kod działa jeśli ma domyślne mapowanie pamięci. Rozwiązałem problem - zmniejszyłem poziom optymalizacji obszarów odpowiedzialnych za USB...i działa.
chyba to jest tak, że poprzez zmianę bitów CCxS możesz sobie mapować np. wejście Ti3 na IC4 i dlatego możesz zrobić CC4 w TIM3.
AFIO to nic innego jak de/multiplekser. Ma wejścia adresowe, której z funkcji remapowania chcemy korzystać. Żeby zmienić na inną opcję, potrzeba przerzutniki (rejestr), które zapamiętają wartość interesującej nas opcji, pozwolą na zapis oraz odczyt tego rejestru i tam jest wymagany zegar. Jeśli po resecie jest gwarantowana wartość 0x0 (nie wliczając...
Oj nie Ty jeden się tak załatwiłeś, nie Ty jeden. Wymądrzam się o tej pomyłce, tylko dla tego, że sam taką kiedyś popełniłem i mnie trochę czasu to kosztowało. Zmienne w sekcji bss zwykle są inicjowane zerami - stąd to 0. A co do adresacji to oczywiście flash siedzi pod 0x80000000, ale przy ustawieniu BOOT0 (o którym wspomniałem) na bootowanie z flash...
to tablicy unsigned charow w flashu stm32 juz nie mozna trzymać? sprawdzilem na tablicy uint8_t zarówno zapis jak i odczyt działa bez zarzutów. W takim razie nie wiem co mogło być przyczyną problemów w przypadku pojedynczych zmiennych. To, że ci nie działa tak jak trzeba to jest wina twojego softu, nie flasha ani kompilatora. Sprawdź jak zmusić GCC...
(at)ElektrodaBot Myślę że koszty można zaniżyć jeśli: - zakupimy używana kosiarkę (nadająca się do przeróbki) do kwoty 500zł - zakupimy tańszy moduł GPS RTK + Stacja bazowa do wykonania w własnym zakresie (może taki: LC29H -- ponoć kosztuje 60USD - -czyli około 250zl) - zamiast drogich platform RPI wykorzystamy coś dla STM32 , ESP32 ?? Mała sugestia...
Właśnie tak to powinno wyglądać. Rozpiskę, który AF na co mapuje znajdziesz w datasheecie pod opisem pinów, jest tam taka fajna tabelka.
Witam, czytając nieco ze źródeł angielskich o procesorach Cortex M natnalem się na wątek który nie bardzo rozumiem. Mowa o pojęciach przemapowania i aliasingu. Rozumiem że program jest wgrywany do pamięci Flash pod adres 0x0800 0000 , następnie następuje aliasing czyli mapowanie fizyczne. Zastanawia mnie czy fizycznie program zostaje przeniesiony pod...
W dalszym ciągu nie rozumiem dlaczego reset miałby nie zadziałać. Na przykład w STM32 program startuje z flash-a, ładuje nowy kod do RAM i ustawia zewnętrzny sygnał na pin BOOT, tak by RAM był mapowany na adres 0x00000000. Jeśli damy reset i program załadowany do RAM będzie dobry (tablica wektorów też), układ zadziała prawidłowo. Ale po błędzie i przemieleniu...
Witam Planuję w nowym projekcie (jestem na etapie tworzenia schematu) użyć procesora STM32F303VET (w obudowie TQFP100) oraz pamięci SRAM (20 bitowy adres, 8 bitów danych). Do komunikacji pomiędzy uC a pamięcią chciałbym wykorzystać FSMC. Wg. dokumentacji sygnały np: FMC_A0 i FMC_A1 są odpowiednio dla pinów PH0 i PH1. Niestety port H występuje tylko...
Pudło. Przy uruchomieniu aplikacji z Flash, pamięć Flash jest mapowana na adres 0, a domyślnie VTOR zawiera 0 (a przynajmniej powinien), nie ma więc potrzeby ruszania go w aplikacji. Jeśli, jak nakazuje zdrowy rozsądek, tablica jest na początku programu, to skrypt linkera załatwia wszystko.
http://obrazki.elektroda.pl/6299012600_1... Firma STMicroelectronics zaprezentowała nową linię mikrokontrolerów STM32F446, łączącą w sobie jednostkę obliczeniową ARM Cortex-M4, kompaktową pamięć Flash o pojemnościach od 256 kB do 512 kB, 128 kB RAM, wydajne interfejsy rozszerzenia pamięci, jak również rozbudowane opcje komunikacji i...
Ciekawostka: w ATTINY1614, 1616 i 1617 jest atomowa. A jakim to cudem jezeli: attiny nie ma bitbandingu. avr8 nie ma instrukcji jednocześnie czytajacych i zapisujących w pamięci Takim cudem: https://obrazki.elektroda.pl/2732534300_... Ma dużo więcej: Kontroler przerwań (2 poziomy, ,NMI) system zdarzeń mapowanie portów DAC 2 x ADC jak...
Możesz podać jakiś przykład tego układu 4021? Wszystkie jest opisane w linkach krok po kroku. Z Arduino (CHIP ATmega32u4) Leonardo/Micro Pro za pomocą 5 kabli (GND -masa, Vcc +5V, Clock, CloCK, Q8-dataPIN, P/SC )podłączasz do układu 4021 (rejestr przesuwny). W taki sposób oszczędzasz wolne piny na Arduino(ATmedze). Mozesz do jednego układu 4021 podłączać...
nie wiem, ustawiam wszystkie parametry niby jak ma być. a dalej lipa - ani RX ani TX. odnośnie "Aczkolwiek po podłączeniu i zmierzeniu napięć na stykach, obdydwa H i L mają gdzieś 1.65V" wyłączyłem mapowanie pinów - pojawiło się napięcie na zaciskach: :: CAN-H = 3.5V :: CAN-L = 1.2V zmniejszone przez resytor 120R, ale to nie przeszkadza chyba. ma ktoś...
Odradzam Kinetis-y. Siadaj na STM32. Freescale ma ciekawą politykę. Produkuje kontroler ale opisy są jak nie od tego sprzętu. Brak informacji w dokumentacji technicznej. Problem pojawia się na poziomie gdzie są mapowane wyprowadzenia wewnętrznych urządzeń do wyprowadzeń obudowy. W efekcie mamy super blok ale nie wiemy gdzie które wyprowadzenie ląduje...
Pamięć NAND nie jest mapowana w przestrzeń adresową FSMC. Pamięć NAND wymaga wysyłania jej durnych rozkazów, i jest to ekwiwalentnie pokręcone jak obsługa kart SD/MMC (tyle że prościej). Dodatkowo zapomnij, że będziesz sobie w stanie tą pamięć ot tak zapisywać jak słowo pod wskaźnik do RAMu czy FRAMu. FSMC definiuje ci tylko adresy pod które mozesz...
Mam problem z STM32F103VET6. TIM2_CH3 jest używany jako wyzwalanie ADC. Problem w tym, ze sygnał ten jest na wyjściu PA2 (USART2_TX), mogę go tez mapować na PB10 (USART3_TX), ale oba piny juz sa używane jako GPIO_Mode_AF_PP. I teraz pytanie: czy mogę jakoś ustawić, aby TIM2_CH2 dalej wyzwalał ADC, ale nie wpływał na piny? [syntax=c] TIM_OCStructInit(&TIM_OCInitStructure);....
No Panowie, a ile faktycznie taki przetwornik potrzebuje sampli? O ile rozumiem, on ma jakieś częstotliwości minimalne - nie może działać statycznie. Aczkolwiek DCLK=144 MHz (taka jest minimalna) dla 8 kanałów oznacza 562,5 SPS, co chyba jest w okolicy minimalnej potrzebnej do pełnego przesłania sygnałów EEG (tu by się przydała informacja od Autorki,...
W tym przykładzie jest ustawione mapowanie adresu bootloadera na adres 0x0 ("SYSCFG->MEMRMP = 0x01;"). Robisz to analogicznie u siebie? Jeśli tak, to spróbuj w linijce 15 ustawić wartość 0x0.
Z perspektywy tej dyskusji wyjaśnia się cel stosowania przez niektórych producentów pary rejestrów do ustawiania/ kasowania bitów, mimo bit bandingu. Przykładowo PIOx_BSRR/BRR u ST. Konsekwentne pociągnięcie dalej i mapowanie każdego rejestru na REG_CLR, REG_SET i REG_INV jak mają PIC32 wydaje się więc logiczniejsze jako sposób na atomowy dostęp do...
https://obrazki.elektroda.pl/4155804500_... Pod koniec ubiegłego roku firma STMicro zaprezentowała, jak twierdzi, pierwszy mikrokontroler na rynku wykonany w technologii 90 nm - STM32G0. Jest to układ z rdzeniem ARM Cortex-M0+ o taktowaniu zegarem o częstotliwości 64 MHz. W momencie prezentacji pierwszego układu, rodzina ta obejmowała...
Jado_one: jeśli używam jednego LCD, to nie ma sensu dokładać ekspandera I2C - wyjdzie drożej i wolniej, niż zmiana uC na wersję z odpowiednią liczbą nóg. Ilość nóg zawsze jest za mała ;-) - zwłaszcza jak się chce wykorzystać jakiś interfejs typu ethernet, to od razu wszystkie nóżki są zajęte. I mapowanie też nie pomaga, bo zawsze te same piny są współdzielone...
Po pierwsze sorry za zwłokę. Po drugie na pewno linii nie pomyliłem. linie adresowe na pewno są przypięte do masy ponieważ na Arduino działa. Adres też nie powinien się zmienić. zegar ma 100k (standard). Zauważyłem, że jak zmienię linię z PB9 na PB7 (SDA), a z PB8 na PB6 (SCL) (to się chyba mapowanie nazywa) to zmienia mi się z HAL_ERROR na HAL_BUSY...
Cześć! Mam do was pytanie odnośnie USB Hosta w uC od ST - mam dwie płytki z WaveShare: Open746I (cały zestaw) + sama płytka Core407I. Mam także moduł od waveshare z USB3300 podłączanym za pośrednictwem ULPI. Do programowania używam TrueStudio + nakładka CubeMX. W tej chwili używam konfiguracji z STM32F407IGT6. Założenia: Chcę stworzyć sniffer USB, działający...
Wygląda na to ze można osobno każdy pin i do tego prościej, bo wszystko w jednym rejestrze - włączenie AF z odpowiednim mapowaniem.
Mój problem jest taki, że PWM na TIM1 nie reaguje na zmianę CCRx w trakcie działania programu. Wszystko pozostałe działa poprawnie (nawet zmiana CCRx w trakcie działania dla TIM3 i TIM4). Kod od inicjalizacji: void timer_pwm_setup() { //struktury konfiguracyjne TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_OCInitTypeDef TIM_OCInitStructure;...
Zgadnij gdzie znajdziesz odpowiedź na swoje pytanie... 4\/3!! Tak, że Fredie - moja odpowiedź powinna brzmieć "Elektroda", no cóż :). Udało mi się uruchomić w reszcie takie zliczanie timera pomiędzy zboczami. Jak to się mówi - dla potomnych lub dla punktów podzielę się moimi wypocinami. A oto mój przykład: [syntax=c]RCC->APB2ENR |= 1<<11;...
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...
Z którego User_Setup dla TFT korzystasz (ten wskazany w User_Setup_Select.h)? Piny SPI w ESP32 mogą być mapowane praktycznie do dowolnych pinów. W User_Setup zrobiłem zmiany z którymi działał zanim dodałem PZEM : [syntax=c]#define ILI9481_DRIVER .... / ###### EDIT THE PIN NUMBERS IN THE LINES FOLLOWING TO SUIT YOUR ESP32 SETUP ###### // For ESP32 Dev...
Spokój. Tylko spokój może nas uratować ;) Po pierwsze grafika na uC to nie jest od razu Full HD 100 Hz czy oczekiwania HMI Androida (4K). Często chodzi tylko o wyświetlenie menu (tekstu na tle grafiki), lub prostych wykresów w kilku kolorach. Do tego naprawdę nie trzeba gigantycznych mocy obliczeniowych czy interfejsów gigabitowych. Prawda jest taka,...
Dla 3 lub 6 bajtów będziesz konfigurować QSPI? I to do tego chcesz to wrzucić w address space? Jaki ma sens PSRAM w MCU który ma 1MB RAM aby użyć w tej pamięci 6 bajtów? Do takich ilości danych po prostu użyj SPI. Jeżeli jednak chcesz użyć w trybie QSPI z mapowaniem w przestrzeni adresowej to proponuję zacząć od Reference Manuala i rozdziału o QSPI....
tymon_x - Ty masz te funkcje read(), write() itd tylko dla SPI czy ta sama funkcja robi też coś innego? Jeśli to są "typowe" funkcje open(), read(), write() to jak zmapowałeś struct spi na "int fd"? 4\/3!! Wracając do tego, łatwo to można przerobić, żeby ta metoda była bardziej system-like :) Mi przychodzi tablica, który int fd wskazywał by odpowiednią...
Przeglądałem co było w reference manual, a na SPL mam działający przykład na innej płytce z stm32f407 tylko tam jest wysyłane do pamięci wyświetlacza przez FSMC z użyciem DMA ale nie bardzo wiem jak to rozgrzebać, tutaj mam przypięty wyświetlacz pod port i napisałem sobie do niego "ręczną" obsługę, żeby nie mapować pinów od FMC ( wyświetlacz jest tylko...
Prawda nie wiem. Poradzono mi zmapować wektor przerwań i najlepiej cały kod do RAMu. A mówiąc zapis do pamięci flash ma kolega na myśli zapis dowolnych danych do stron flasha czy mapowanie wektora i funkcji do flasha? Jeśli to pierwsze to mam to już zrobione i działa poprawnie (są to w moim przypadku odczyty z enkodera). Problem jest w momencie, gdy...
Dokładnie. Te wpisy to mapowanie opcji kompilacji na katalogi bibliotek Jak widzisz dla True studio masz biblioteki dla hard-float w katalogu: thumb/cortex-m4/hard/fpv4-sp-d16 A w CS nie. Zmiana kompilatora, lub kompilowanie go (i libc) ze źródeł. Ten sam bład bedziesz miał np dla big endian Albert
Konfigurujesz TIM3 do obsługi PWM ale on nie ma nic wspólnego z pinem PB8, poczytaj dokumentację: http://www.st.com/st-web-ui/static/activ... m.in strona 32. Użyj innego timera. W swoim kodzie robisz mapowanie na porty C i E, nie będzie to raczej potrzebne, ponieważ chcesz użyć portu B. Jak wrzucasz...
Szczerze wątpię w przydatność takiego typu oprogramowania dla kogoś poza hobbystami - zwykle wygenerowany kod nawet nie widział się z optymalnością a dodatkowo jesteśmy ograniczeni takim podejściem do sprawy... Proponowałbym zapoznać się chociażby z opisem na stronie, jeśli nie z samym oprogramowaniem, przed wydaniem takiej opinii. 1. Graficznie można...
Ok, dzięki za zainteresowanie się tematem:) Problem został rozwiązany a powodem złego działanie było błędne mapowanie pamięci RAM.
Alternatywnie można zmienić mapowanie bajtów w VRAM sterownika - może któryś z trybów przypasuje. Z drugiej strony patrząc na szybkość tego ARMa i mizerność magistrali 8080 sterownika, gdzie zapis trwa co najmniej 100ns, a odczyt 1000ns(!) można wątpić, czy jakakolwiek operacja programowa na ARMie będzie wąskim gardłem przy przesyle danych do tego kontrolera.
PenDrive tak, karty, zależy jakie. No to napisz dla jakich "nie", zamiast powtarzać miejskie legendy. I tu leży sedno sprawy. Karta marnej jakości padnie bardzo szybko, nawet zanim osiągnie 20..30% deklarowanych cykli zapisu. To nie chodzi o używanie "drogich" vs "tanich" kart. Tu chodzi o używanie "normalnych" kart i czegoś co śmiało można nazwać...
Podłączyłem na próbę filtr butterwortha 4-rzędu jaki mam zastosowany do innej płytki z PIC32 (tam mam D/A realizowane przez PWM 10-bit), ale wyglądało to tak jakby wzmacniacz wejściowy filtra się zatkał - bardziej przypominało efekt fuzz :-) Chyba za duża amplituda wychodzi z tego przetwornika w porównaniu z PWM'em. Po wyłączeniu tzw. bufora sygnał...
chciałem poćwiczyć z stm32f4 i mam problem z PWM na tim1. Zrobiłem to tak [syntax=c] #define PreloadEnabe_PWMmode1 ((uint16_t)0x0068) #define Tim1Af ((uint32_t)0x00080000) //pin PE9 alternate function motor::motor() { //pwm init RCC->AHB2ENR|=RCC_APB2ENR_TIM1EN; // zegar na timer1 RCC->AHB1ENR|=RCC_AHB1ENR_GPIOEEN; // zegar na port E GPIOE->MODER|=Tim1Af;...
https://obrazki.elektroda.pl/8760486500_... Po przygodach z matrycami zbudowanymi na max7219, przyszła pora na coś bardziej zaawansowanego. Miałem w planach zrobienie własnej matrycy z 1500 jednokolorowych ledów 0603, 3 rejestrów przesuwnych i paru elementów dyskretnych, ale jak już ją zaprojektowałem, to przypadkiem trafiłem na matryce...
https://obrazki.elektroda.pl/7335795800_... Przedstawię tutaj płytkę ESP32-2432S028R oferującą przede wszystkim duży kolorowy wyświetlacz LCD TFT 2.8" oparty o sterowniki ILI9341 (wyświetlacz) i XPT2046 (rezystancyjny panel dotykowy, wraz z rysikiem), a to wszystko za raptem około 50 zł. Pokażę tu jak można przykładowo obsłużyć ten...
Być może słyszeliście niedawno o Visual Studio Code (VSC). W ostatnim czasie dużo mówi się o tym IDE z wielu przyczyn. W minionych kilku latach Visual Studio Code stało się popularnym środowiskiem programistycznym w całej branży, także embedded. Jest to opcja do samodzielnej konfiguracji, można ją łatwo dostosować za pomocą rozszerzeń i poprawek. Visual...
https://obrazki.elektroda.pl/1430082700_... Portenta X8 Arduino wkrótce wprowadzi na rynek moduł Portenta X8 za 239 dolarów, który łączy w sobie czterordzeniowy układ ARM Cortex -A53 — i.MX8M Mini — z STM32 i rdzeniami ARM Cortex-M7 oraz Cortex-M4, a także uruchamia Linuxa w stosie kontenerowym Foundries.io. Portenta Max...
https://obrazki.elektroda.pl/6225803800_... Witajcie moi drodzy Ostatnio zająłem się nieco głębiej kwestią obsługi ENC28J60 w Mikro C na PIC32MX w połączeniu z nową biblioteką Network Ethernet Library z Libstocka . Jest to biblioteka dostępna za darmo i wspiera różne mikrokontrolery, nie tylko PIC. Prędko zorientowałem się jednak,...
Witam. Zdaje sobie sprawę, że mój problem nie jest jedyny jednak zarówno w sieci jak i w praktyce nie znalazłem konkretnego rozwiązania. Problem dotyczy Komunikacji STM32L100 z pamięcią FLASH M25PX33 obsługiwaną po SPI. Nie widzę tu raczej problemu z pamięcią czy też z połączeniem procesor-pamięć. Używam programatora ST-Link z płytki Discovery F4, STM32L100...
mapowanie drukarki mapowanie urządzeń mapowanie kanałów
odkurzacz uszkodzony serwis amica zmywarka czujnik klimatyzacji vectra
instalacja wyspowa instalacje wyspowe
Kod błędu P0501 w Mercedes Sprinter - czujnik prędkości Panel sterowania lodówki Mastercook LC-518A - usterki i diagnostyka