Procka powinno się dać ożywić przy uzyciu stosownej konfiguracji. Większość oprogramowania do debuggowania po zwolnienieniu resetów czeka chwilę (chodzi o stany nieustalone, zewnętrzne układy resetów, kondensatory itp.) i dopiero potem próbuje nawiązać połączenie przez JTAG. Oczekiwanie to zwykle jest tak długie, że jeśli w programie na początku jest...
W tym samym rejestrze (AFIO->MAPR) znajduje sie bity konfiguracyjne JTAG/SWD. Dokumentacja mówi, że są one tylko do zapisu, a odczyt tych bitów daje wynik niezdefiniowany. Może warto sprawdzić bezpośredni zapis do rejestru [syntax=c]AFIO->MAPR = AFIO_MAPR_TIM4_REMAP; // bez |[/syntax] albo z maską na te bity [syntax=c]AFIO->MAPR |= AFIO_MAPR_TIM4_REMAP...
Jest jakiś sposób? Bootloader na UART, programik od ST i kasowanie całej pamięci. Ewentualnie można próbować połączyć się z wciśniętym przyciskiem RESET. 4\/3!!
Napisałem program obsługujący komunikację RS232 dla płytki STM32 P103: - dokumentacja płytki https://www.olimex.com/dev/pdf/ARM/ST/ST... - schemat https://www.olimex.com/dev/images/ARM/ST... Niestety łącząc docelowo przez konwerter RS232 -> RS485 i podłączając do serwomechanizmu RS28 dynamixel podłączyłem raz zasilanie 15V,...
Witam! Ja jeszcze chciałbym wrócić do kwestii konfiguracji OpenOCD. Posiadam programator Wiggler i moduł z lpc2368 oraz OpenOCD 0.2.0+Eclipse+CodeSourcery. Przerobiłem plik parport.cfg na #Daemon telnet_port 4444 gdb_port 2001 #JTAG interface parport jtag_speed 4 jtag_device 4 0x01 0x0f 0x0e parport_port 0x378 parport_cable wiggler oraz plik lpc2368.cfg...
Wlasnie chodzi o peryferia itp. po prostu pisze kod z pamieci ;) ale jak wspominalem to sa tylko moje glupie nawyki. Po prostu czasem w firmie robie cos na jednym procku, a w domu jakis hobbystyczny projekt na innym... Remap nie jest dla mnie problemem, osobiscie nie uzywam gotowych modulow (czasem do testow - ale takie co maja wszystkie porty wyprowadzone...
Witam ponownie, rozwiązałem swój problem, błąd był banalny i polegał na tym, że ustawiałem stan wysoki w rejestrach instrukcją |= i to było ok, ale nie zerowałem bitów tam gdzie powinny być zera instukcją &= ~. Na dole działający kod: [syntax=c]//niezbędne pliki nagłówkowe #include <stddef.h> #include "stm32f10x.h" //DEFINICJE PREPROCESORA...
Można wysterować MOSFETa. *7002 to dość szybkie MOSFETy więc tym bardziej nie będzie problemów (oczywiście pod warunkiem że gdzieś indziej (po stronie Drenu/Źródła) nie spieprzysz projektu). No i ten model nie jest Logic-Level. Przy 3.3V się otworzy ale słabo. Więc do układu mocy się nie nada. Ale jako tranzystor małej mocy może pracować.
Tak wlasnie jest o ile AF4 odpowiada I2Cx
Witam Ostatnio mój dysk MAXTOR STM3250310AS (250GB/7200RPM/8M) działał niestabilnie. Po przeskanowaniu programem HD Tune okazało się, że znajdują się na nim Bad Sector'y. Zgodnie z opisem programu MHDD, który znalazłem na forum przeprowadziłem zerowanie a potem remap dysku. Niestety nie mam napędu dyskietek i nie mogłem skopiować logów. Zainstalowałem...
Aby móc zmieniać remapowanie musisz włączyć zegar dla AFIO. [syntax=C]RCC_APB2PeriphClockCmd(RCC_APB... ENABLE);[/syntax]
u mnie to działa. Pomogło wykonanie instrukcji w tej kolejności: [syntax=c] SetSysClockTo24(); NVIC_SetVectorTable(NVIC_VectTab_FLASH,(... NVIC_PriorityGroupConfig(NVIC_PriorityGr... RCC_APB2PeriphClockCmd(RCC_APB2Periph_AF... ENABLE); GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disab... ENABLE);[/syntax] Przepraszam, jeśli odkopuję staroć,...
Witam! Używam STM32F103RBT6. Timer1 skonfigurowany jest na wyjście PWM z wyjściem komplementarnym (kanał 2 i 2N). Interesuje mnie tylko kanał 2N. Problem jest taki, że wyjście kanału 2 jest współdzielone na tym samym pinie z TX dla UART1. I tu pojawia się konflikt, gdyż jak jest włączony timer1 usart1 nadaje tylko w jedną stronę (potrzebuję komunikacji...
Witam Mam problem z obsłużeniem enkodera w programie - brak jakiejkolwiek odczytanej wartości. Enkoder to (201935): http://www.maxonmotor.com/medias/sys_mas... [syntax=c]void encoder_timer_config(void) { gpio_pin_cfg(ENCODER_PORT, ENCODER_LEFT_A, ENCODER_PORT_MODE); gpio_pin_cfg(ENCODER_PORT, ENCODER_LEFT_B, ENCODER_PORT_MODE);...
(at)up dzięki za link! przyda się! Co do CAN'a to zadziałał. Zmieniłem BS1 i BS2 a także preskaler, remapowałem na CAN1 czyli na porty B , skonfigurowałem pin'y i zaczęło banglać. Widocznie coś musiało nie działać na CAN'ie na porcie A i też prędkości źle dobrałem. Tak czy inaczej, dzięki wszystkim za pomoc! :) Problem rozwiązany, do zamknięcia.
Witam a jak dochodzisz do wniosku że USART2 nie działa? Podłączyłeś oscyloskop czy jakieś urządzenie? Myślę, że jeśli podczas startu procesor nie zapętla Ci się w oczekiwaniu na jakąś flagę w związku z USART2/3 (można to podejrzeć debugując program), to jest to zapewne nadpisanie inicjalizacji lub błędna inicjalizacja portu GPIO. Nie znam blibliotek...
Cześć, piszę z kolejną rozterką. Z góry mówię że wykorzystuję CMSIS'a Chcę zobić częściowy remap TIM1, ale wiąże się to z przepisaniem 8 pinów na PA i PB. Problem w tym że chciałbym wykorzystać równocześnie USART1(PA9 i PA10) i ADC12 (PA6). Zanim zabiorę się za kodzenie, chciałem spytać czy mogę zrobić częściowy remap i wykorzystać tylko TIM1_CH1N i...
Remap powinien to właśnie załatwić. czy brakuje jeszcze czegoś?
Co do remapowania to miałem na myśli co innego niż to czy jest remapowany automatycznie czy nie. Ale to teraz już nieważne skoro uzyskałeś jakiś przebieg. Dziwnie to wygląda. Raczej bym powiedział że to jakiś problem z sondą oscyloskopową niż z samym modułem CAN.
Witajcie Problem stanowił wyłączony zegar dla peryferi odpowiedzialnych za reapowanie (przeoczyłem jedną z flag). Pozdrawiam Krzysztof
Nie. Jest jak w stm32. Uklad uart, timer czy twi można podłączyć do domyślnych lub alternatywnych pinów. I ot cały remap.
Właśnie ja odpalałem go na F103. Z remapem... Może mój koszmar miał coś wspólnego z faktem remapnięcia CANa na portb...? W każdym razie pochłonęło to cenny czas, bo remapnięty wcześniej CAN nie chciał wyjść z trybu inicjalizacji. Szopki polegały na: - piny -> remap -> CANinit - wisi w while'u wyjscia z inicjalizacji - remap -> CANinit -> piny - wisi...
Witam. Moim celem jest uruchomienie serwo na STM32F100RB (discovery VL). Mam jednak problem z uruchomieniem PWM na TIM3 (próbowałem też na TIM1). Kod bazuje na przykładach i jest on na tyle prosty, że pewnie czai się tam jakiś "czeski" błąd. Co jest nie tak ? int main(void) { RCC_conf(); GPIO_conf(); timerSetupHardware();...
Witam, trochę czasu spędziłem na przeglądaniu dokumentacji AFIO, GPIO ale niestety nie znalazłem niczego co mogłoby mi pomóc dlatego chciałem się zapytać Czy w STM32 jest możliwość takiego remapowania wyprowadzeń żeby np z wolnych pinów stworzyć np 8 bitową magistralę z możliwością zapisu, odczytu danej lub np takim przemapowaniu któregoś z portów żeby...
Masz "zalutowane" połączenie SB12 na płytce? HSE wyłączone? Przy remapowaniu ustawiasz "alternate mode"... nie wiem czy nie powinno zostać general i/o. Swoją drogą konfigurujesz PD0, a wcześniej pisałeś o PD1 - to nie pomyłka?
To co zawiera CubeMX i nagłówki jest nieistotne. Zobacz co zawiera datasheet i w której kolumnie jest opis funkcji USART3 dla tych dwóch pinów - u mnie jest w tej zatytułowanej "Remap".
Ok, Myslałem ze liczy od ARR w dół, albo od ARR w górę do przepełnienia, a to byłoby zupełnie co innego. Uruchomiłem juz 3 timery, z czwartym mam problem bo muszę remapować TIM17 na PA7, a tego jaszcze nie robiłem. Mam coś takiego, ale nie działa: Dodano po 22 Remaping chyba jest ok, bo bez remapingu na PB9 też nie dziala, widać jest jakas róznica w...
Ponieważ np. I2C komunikuje się z urządzeniem zewnętrznym przez piny GPIO ustawionymi jako alternatywna funkcja pinu AFIO i dlatego trzeba te bloki włączyć ..najoględniej mówiąc. Najogólniej mówiąc to AFIO służy jedynie do remapowania pinów i pierwsze słyszę, że należy je włączać dla I2C, ADC etc. Zegar należy włączyć dla GPIO i dla danego peryferium....
Jak przeszukasz manual pod kątem frazy NADV to znajdziesz m.in. coś takiego: AF remap and debug I/O configuration register2 (AFIO_MAPR2) 4\/3!!
Wyłączałem remapowanie USART1 dla pewności, do tego AFIO jest już chyba potrzebne. Może powinienem jakoś podłączyć te peryferia z pinem, bo widzę że standardowo wychodzi tam jeszcze MCO, 1 i 2 kanał timera 1?
/* disable SWJ debug port - comment if you are using JTAG */ GPIO_PinRemapConfig(GPIO_Remap_SWJ_D... ENABLE); czytałeś w ogóle ten kod?
AFIO->MAPR = 0x01000000; starczy, to drugie cudo podejrzewam, że odblokowuje NJTRST spowrotem. No właśnie to jest to samo. Jak się przyjrzysz to masz tam NoJTRST: [syntax=c]GPIO_PinRemapConfig(GPIO_Remap... ENABLE);[/syntax] Używałem obu i bez rezultatów...
Mam TIM17 :] A więc problem rozwiązany. Dziwna sytuacja, bo zrobiłem full remaping linii sda scl(które jako alternatywne domyślnie są na pinach PB7 i PB6) na piny PB8 i PB9. Wyjscie negatywne Timera jest na pinie PB7 i ono działa ok. Natomiast wyjście pozytywne Tim17(przy ustawieniu alternatywnej roli tego wyjścia ) jest na pinie PB9(tym od SDA które...
Witam! Muszę stworzyć program na STM 32 (STM32 DISCOVERY / STM32F100RB), który będzie pozwalał sterować 5 serwami. Napisałem poniższy program, przy pomocy którego otrzymuje na wyjściach poszczególnych kanałów timerów 2 i 3 przebiegi PWM o częstotliwości 50 Hz. Jednak serwo nie działa. Serwo analogowe (HS – 422, HS – 645MG) wychyla się w...
A czy ja się upieram, że poprawną? Ale te przewidziane 'prawidłowe' też nie zawsze działają. Dajemy 'reset' a program nie uruchamia się z bootloader-a i co wtedy? A nie uruchamia się ponieważ: włączony jest remap, przeniesiona tablica wektorów, zawiera 'byle co', nieustawiona 'power domain' itp. Twardy jump na adres fizyczny w ROM bywa skuteczniejszy.
Żeby przemapować w sposób jaki potrzebujesz musisz użyć full remap a nie partial. Edit: Pośpieszyłem się, te dwa kanały rzeczywiście i na tym partial i na full są przemapowane. W każdym bądź razie, kiedyś odpalałem wejście enkoderowe za pomocą SPL i wystarczyło tylko to (+wcześniej RCC od GPIO i AFIO): [syntax=c]RCC_APB1PeriphClockCmd(RCC_APB...
Wpadłem na pomysł jak to "obejść". - w bootloaderze przekierować tablice na RAM; - "skoczyć" pod adres Reset_Handler w aplikacji użytkowej; - podczas inicjalizacji przekopiować adresy wektorów z flash do RAM (sekcja .data); Na razie próbuję: 1. umieścić wektor przerwań w sekcji .data; 2. umieścić startup.S na początku aplikacji użytkowej; Jak ktoś ma...
Dowcip z AF vs. Input też niezły. Ciekawe, jak procesor zgaduje, gdzie ma linię RX kiedy można ją przypisać do jednej z dwóch nóg... a może po prostu nie można. Ok, odszczekuję i przepraszam. Hau, hau! Można. Masz opcję "remap", która przykładowo cały USART1 przeniesie Ci na piny alternatywne. Czyli Rx i Tx z pinów PA9 i PA19 przechodzi na piny PB6...
Witam, Mam problem z ustawieniem magistrali SPI w trybie Master simplex communication transmit-only. Dodatkowo SPI musi być zremapowane na porty PB3-PB5, PA15 czyli te które są częściowo przeznaczone jako porty debugera. Mój problem polega na tym, że podczas transmisji nie mam sygnału MOSI (sprawdzone na oscyloskopie), który podczas nadawania jest ciągle...
Nom, sory, działam na stm32F103c8t6 Dodano po 2 Ok, "The external interrupt/event function is not remapped. PD0 and PD1 cannot be used for external interrupt/event generation on 36-, 48- and 64-pin packages." Wszystko jasne, dzięki ;)
Witam. Mam problem z poprawnym działaniu CAN. Używam STM32F103CBT6 oraz MCP2551. Piny CAN to remap B8 oraz B9. Problem jest taki że jak wysyłam jakąkolwiek ramkę z odpowiedniej przystawki USB<>CAN, mikrokontroler się zawiesza, zamiast wskoczyć do przerwania. Tak się dzieje jeśli tryb ustawię na CAN_InitStructure.CAN_Mode = CAN_Mode_Normal. Kiedy...
To także mam zrobione (dużo wcześniej w samym mainie na początku odpalam wszystkie porty i afio). Ogółem z testów wynika jakby wogóle nie były podpięte piny kanałów 2 i 4. Już sprawdziłem milion możliwości ustawień, żadne nie prowadziło do jakiejkolwiek reakcji na impulsy na tych pinach.. Cytując manuala: Bits 9:8 CC2S[1:0]: Capture/Compare 2 selection...
Mam problem z najnowszą biblioteką FatFs. Wszystko działa idealnie na SPI1, a na SPI2 nie chce chodzić. Może ktoś z doświadczonych kolegów zerknie na konfigurację. Przy ustawieniu SPI_CH na 1 wszystko śmiga jak należy, przy 2 tylko rozpoznaje, że karta jest włożona lub wyjęta. Przyglądam się temu i nie widzę błędu. Co tu jest nie tak? [syntax=c] #define...
Witam, Kolego atom1477 z ciekawości uruchomiłem Twój projekt, z tym że zmodyfikowałem tak main-a, że najpierw wypełniam ALGO_TAB jakimiś tam danymi, a później jednorazowo kasuję sektor i te dane zapisuję do FLASH-a i u mnie działa zawsze ok, niezależnie od poziomu optymalizacji. Nie chciało mi się już robić jakiegoś porównywania danych, to co zapisuję...
Sygnał REF_CLK powinien być generowany przez cały czas, gdy chcesz mieć aktywny interfejs Ethernet. Najpierw konfigurujesz układ MAC (zegary, typ interfejsu MII/RMII), następnie aktywujesz taktowanie PHY za pomocą REF_CLK. Gdy zamienisz kolejność (najpierw taktowanie PHY, później ustawiasz w STM interfejs MII/RMII) to program zawiesi się w pętli: [syntax=c]...
Dobra, cos tam ruszyło po zmianie w SYS na SW Debug. Ale to mi nasunęło kolejne pytanie. Ponieważ ustawienie tego SW Debug powoduje wywołanie funkcji [syntax=c] /** NOJTAG: JTAG-DP Disabled and SW-DP Enabled */ __HAL_AFIO_REMAP_SWJ_NOJTAG();[/syntax] Która wpisuje do rejestrów AFIO->MAPR 0b010 w [26:24] Jeśłi nie ustawię SW Debug to do tych rejestrów...
Witam Chcę skomunikować się z DAC po magistrali I2C. Niestety nie wychodzi mi to. Program zawiesza się w tej pętli:[syntax=c]while(!I2C_CheckEvent(I2... I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECT... Z tego co wiem jest to sprawdzanie czy adres się już wysłał, ale gdy zakomentuje ten kod i ustawię opóźnienie 100ms, to program się nie zawiesza,...
Witam. Od niedawna staram się zapoznać z uC STM32 i chciałbym skorzystać z pinów PD0,PD1 uC stm32f100. Mój kod wygląda następująco: [syntax=c] GPIO_PinRemapConfig(GPIO_Remap_PD01, ENABLE); GPIO_InitTypeDef GPIO_InitStruct; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GP... ENABLE); GPIO_InitStruct.GPIO_Pin = GPIO_Pin_0; GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IN_FLOATING;...
Freddie, A poradź amatorowi jak rozplanować ręcznie użycie peryferiów, bo biorąc pod uwagę jakość tego softu, to potem okaże się, że nie można zrobić takiego remapingu... Ja jako amator Ci doradzę, że wystarczy otworzyć "super jasny" DataSheet i tam jest tabela z pinami co gdzie i jak. Najpierw wybieram to, co potrzebuję, ze standardowego ustawienia...
r"]#define OC3M_0 (1<<4) #define OC3M_1 (1<<5) #define OC3M_2 (1<<6) #define OC4M_0 (1<<12) #define OC4M_1 (1<<13) #define OC4M_2 (1<<14) takie wynalazki są niepotrzebne. Wszystkie bity i maski są podefiniowane w plikach CMSIS. To nie AVR. Dodano po 1 r"]GPIOB->CRL |= (1<<0)|(1<<1)|(1<<3)|(...
kabel remap remap zerować procedura remap
sygnał centrala zabezpieczenia przepieciowe toshiba pralka
Zakres częstotliwości głośnika niskotonowego Panasonic TX-P42ST50 Długość kabli w Mercedesie Klasy S: 3-5 km