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...
Dysk całkowicie sprawny w 100% Bady miałes logiczne co usuneło zerowanie . Opis atrybutu : Spin Retry Count 10 Ilość ponowień prób rozpędzenia tależy. Atrybut ten przechowuje łączną ilość prób uruchomienia tależy przed osiągnięciem pełnej szybkości obrotowej (pod warunkiem, że pierwsza próba nie powiodła się. Spadek tego atrybutu jest oznaką problemów...
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!!
Inicjowanie UART to 2 lub trzy zapisy do rejestrów, przemieszczenie linii - po jednym zapisie na port (czyli jeśli zmieniasz z portu A na B to masz dwa zapisy). Czas tych operacji nie przekroczy ułamka mikrosekundy (kilkanaście cykli procesora), o ile nie będziesz korzystał z SPL ani HAL.
Tak wlasnie jest o ile AF4 odpowiada I2Cx
Aby móc zmieniać remapowanie musisz włączyć zegar dla AFIO. [syntax=C]RCC_APB2PeriphClockCmd(RCC_APB... ENABLE);[/syntax]
Remap powinien to właśnie załatwić. czy brakuje jeszcze czegoś?
Witajcie Problem stanowił wyłączony zegar dla peryferi odpowiedzialnych za reapowanie (przeoczyłem jedną z flag). Pozdrawiam Krzysztof
(at)migol21 Jesteś geniuszem. Zastosowałem fsck i po tym już mogłem zamontować interesującą mnie partycję. Następnie zrobiłem backup danych i teraz pozostaje mi zgodnie z twoją sugestią zerowanie i remap dysku. Mam w związku z tym pytanie: Do zerowania dysku używam programu MHDD, ale on na standardowych ustawieniach w Biosie nie wykrywa dysków SATA....
Poldi, przynajmniej raz w tygodniu pojawia się na Forum pytanie w stylu "co wybrać?", "jak zacząć?" albo "który jest najlepszy?" i za każdym razem temat jest rozwijany na 2 lub 3 strony. Spokojnie poczytaj i wnioski wyciągnij sam. I to nie jest tak, że ARM jest ok, a cała reszta do kosza. Jeżeli chcesz znać moje zdanie (na początek), to aktualnie najłatwiej...
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.
Czy w dokumentacji procesora jest opisany jeden bit powodujący włączenie wszystkich linii timera, czy różne bity/pola bitowe, dla każdej linii po jednym? Zgadywałbym, że remap jest być może robiony hurtem, ale wybór funkcji - nie.
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...
Cześć, Od jakiegoś czasu borykam się z takim problemem: chciałbym odbierać po CANie ramki, wpisywać je w gotowy szablon i dalej wysyłać po USARCie na kompa w kodzie ASCII. Czegoś mi brakuje w tym kodzie i za każdą wskazówkę będę wdzięczny. Z góry dzięki:) To mój main: [syntax=c] unsigned char tx_uart[]=" ID: DL: F: T: DATA: ";//54 char ramka[55]; unsigned...
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...
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... Masz jakąś metodologię, żeby to szybko poszło, czy po prostu na wyczucie.... Pozdrawiam Krzysiek
Funkcja SystemInit jest wywoływana w obu przypadkach na początku main. Podałem ją w kodzie. Może tutaj faktycznie jest problem. Pliki startup.s Keila i Cube się różnią. Zauważyłem, że funkcja SystemInit jest wywołana w pliku dla Cube. Niestety te pliki to dla mnie czarna magia. Czytałem o nim artykuł waszego kolegi z elektrody. https://www.elektroda.pl/rtvforum/topic3...
Trochę to stare, ale dokumentacja podaje informację że domyślnie CAN jest na PA11 i PA12 więc trzeba zrobić remapowanie portu.
Przebieg oczywiście jest niepoprawny. To jest najprawdopodobniej przydźwięk sieci. Pin CAN_TX jest nieaktywny. Nieustawiony jako wyjście CANa. Np. Remaping CANa jest ustawiony na inną parę pinów. Na jakich pinach to ma jest (fizycznie podłączone)?
(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.
Dobra, jak zwykle gadam sam do siebie przemierzając czeluści, do których nikt normalny się nie zapuszcza. Po prostu tryb mało używany. Po drugie nie wiem co tam jest niejasne TIM2 IC1 and TIM2 IC2 are connected to TIM15 IC1 and TIM15 IC2 respectively nie ma nic o kierunku TIM-15 > TIM2 albo słowa o pinach. Tylko o tych konkretnych sygnałach. Po prostu...
Zainstaluj CubeMx. Wygeneruj sobie kod inicjalizujacy i będziesz wiedział jak to jest zrobione. Nie wiem dlaczego pb11 jest dla Ciebie złe, ale jak będziesz miał Cuba i ustawiesz peryferia to bedziesz widzał wszystkie konflikty i możliwe alternatywne konfigyracje. Tu masz dla przemapowanych: (dla AC6) (wyciągnąłem tez niektóre makra dla jasności) [syntax=c]...
Cube dla tego procka standardowo robi partial remap ze wzgledu na i2c2. Jezeli użył plików z Cuba to ma pc10 i pc11. (zakładam że to F103RB)
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...
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.
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!!
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...
Proponuję włączyć AFIO skoro używasz zarówno alternatywnych funkcji jak i remapowania pinów. 4\/3!!
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]...
A na czym polega różnica pomiędzy pisaniem kodu np. na STM32F4 i STM32F3, wynikająca z tego, że mamy w tych rodzinach różne rdzenie? Zrobiłem parę projektów przenośnych pomiędzy kilkoma seriami STM32 i jedyne różnice pomiędzy modułami specyficznymi dla serii polegały na szczegółach konfiguracji peryferiali - DMA i SPI. W F1 chora jest koncepcja "remap",...
Witam, Przesiadam się z STM32F103 na F051, a raczej ćwiczę sobie na obu tych mikrokontrolerach. Napisałem program na F0, w celu poćwiczenia sobie z konfiguracją interfejsu SPI. Zadanie jest takie SPI1 posyła dane, a SPI2 odbiera je zgłaszając odbiór. Interfejsy podłączyłem ze sobą SPI1->MISO z SPI2->MISO SCLK - SCLK MOSI - MOSI Niestety komunikacja...
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);...
Dlaczego włącza się ten zegar AFIO? Zajrzałem do tego o czym piszesz i nie ma tam odpoiwedzi na to co pytałem. To optimize the number of peripherals available for the 64-pin or the 100-pin or the 144-pin package, it is possible to remap some alternate functions to some other pins. Zajrzyj jeszcze do datasheet Twojego uC. Tam jest sugestywna tabelka...
Ż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...
Chętnie zobaczę przykład z SPLu. Co znaczy remap dla PB8 i PB9? Myślałem jak ustawię w Cube to pozostanie mi tylko pisanie obsługi CAN.
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 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...
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...
Witam, Frieddie dzięki za odpowiedź. Mam kolejny problem. W eclipsie wyskakują mi takie błędy: http://obrazki.elektroda.net/65_12610988... http://obrazki.elektroda.net/14_12610988... W projekcie używam takich plików: startup.c /***************************************... * Copyright (c) 2009...
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...
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 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,...
Używając peryferium zawsze stosujemy funkcje alternatywną. Dla wyjść jeśli nie jest wymagane open drain stosujmy pushpull. W przypadku wejścia podciąganie włączamy w razie konieczności. F4 nie ma remapowania peryferiów. Po prostu ustawiamy wybrany pin który umożliwia podłączenie do danego peryferium.
Trochę jestem zmęczony i nie pomyślałem. Podpiołem teraz ten moduł rs232 pod starą płytkę z stm32f103 - bez problemu mogę wysyłać dane na pc'ta. Tylko mam problem z odbieraniem danych - nie wiem czy to przez remapowanie pinów coś nie działa czy co. Więc to na pewno zasilanie było przyczyną nie działania układu. Dodano po 30 Miałem nieskonfigurowane...
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?
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...
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...
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 ;)
Open On-Chip Debugger 0.10.0 Licensed under GNU GPL v2 For bug reports, read http://openocd.org/doc/doxygen/bugs.html Info : auto-selecting first available session transport "hla_swd". To override use 'transport select <transport>'. Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD...
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...
Cześć! Po kilku małych projektach opartych na Nucleo i Discovery postanowiłem wykonać trochę bardziej skomplikowany i praktyczny projekt - odtwarzacz plików WAV z karty SD i... zwracam się do Was z prośbą o pomoc 😄 Projekt oparty jest o STM32F103RCT6 do którego podłączone jest gniazdo kart microSD i DAC (PCM1780). Za pomocą FatFs odczytuję plik WAV...
Same połączenia zostały, ale poprawa takiego schematu wydaje się niemal niemożliwa. Da się, choć wymaga to większego nakładu pracy bo musisz to zrobić ręcznie lub półautomatycznie przez Narzędzia -> Edycja odnośników w bibliotece symboli... . Nawet jak kolumna Bieżący odnośnik byłaby pusta to wartości w symbolach dałyby minimum informacji jaki symbol...
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...
1. Spróbuj może w takim razie ją zaprogramować bootloaderem przez RS-232. Pozwoli to upewnić się czy płytka sama z siebie działa poprawnie. 2. Jeżeli uC jest dziewiczy to problemu z remapowaniem nie ma. Dodatkowo jeszcze sprawdziłbym poprawność montażu, czy nie ma zwarć i niedolutów.
1. Możesz zrobić przy pomocy usart: a) korzystając z multiplexera (gotowego lub cpld) b) przesiąść się na pic z remapowaniem peryferiów 2.Możesz zrobić przy pomocy timera. Jakie widzisz przeciwskazania że pytasz? 3. Możesz zrobić jak pisze Freddie. 4. Możesz zrobić normalnie na delayach. W końcu stm32 ma tyle mocy obliczeniowej, że nie ma czym się przejmować...
Embedded boot loader The embedded boot loader is located in the System memory, programmed by ST during production. It is used to reprogram the Flash memory with one of the available serial interfaces: ● In low-, medium- and high-density devices the bootoader is activated through the USART1 interface. ● In XL-density devices the boot loader...
Bzdury na kółkach!... ** Transceivery hi-speed bardzo dobrze chodzą na każdej prędkości CANa, poczynając od kilkudziesięciu bitów na sekunde do 1Mb/s. ** Transceivery automotive grade chodzą do 500kb/s ** Nie ma czegoś takiego jak CAN low-speed ** Transceiver nie ma wpływu na standard przesyłania ramek, tj. niezależnie od niego będzie chodzić każda...
https://obrazki.elektroda.pl/3499676800_... Bez zmian niestety :-( Twoja konfiguracja w Cube wskazuje, że masz SWD *wyłączone*. Skocz sobie pod urządzenie SYS, tam włącz debug na SWD lub async trace jeśli chcesz SWO. Samo zaznaczenie pinów tu Ci nic nie daje. (Pomarańczowe - pony zarezerwowane ale urządzenie nie jest włączone). Nie...
Mógłby ktoś napisać obsługę tego timera ? Widzę przykłady w internecie ale bez zrozumienia. [syntax=c]//niezbędne pliki nagłówkowe #include <stddef.h> #include "stm32f10x.h" //DEFINICJE PREPROCESORA //CCMRx #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)...
Witam Może mi ktoś pomoże, bo siedzę nad tym już kilka godzin i nie mogę znaleźć rozwiązania. Otóż mam procek stm32f103ret6 na którym muszę mieć 12 wejść ADC i 12 wyjść PWM. Wymyśliłem sobie taką konfigurację: ADC - kanały 0-11, portA 0-7, PortB 0-1, PortC0-1. PWM - TIM4 Ch1-4 PortB6-9, TIM3 REMAP ch1-4 PortC6-9, i TIM2 REMAP ch3-4 PortB 10-11. Wyjście...
A skonfigurowałeś poprawnie piny, włączyłeś porty GPIO oraz AFIO? No i po co ruszasz rejestr od I2S? Po co odczytujesz na początku DR? Po prostu go wyłączam tak jak by co. Oto moje GPIO ale to raczej dobrze jest. Dodano po 21 No nie wreszcie zmotywowało mnie to do porządnego debugowania i okazało się że to tu się wiesza program wait until BSY=0 before...
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...
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, Mam kolejny problem niestety. Chciałbym użyć drugiego kanału Timera 2 do generowania sygnału na danym pinie w sposób sprzętowy (czyli nie tak, ze w obsłudze przerwania ustawiam sobie ten pin na 1 i 0...). W manualu jest napisane (tabela 43), że TIM2_CH2 przy braku remapingu jest podłaczony do pinu PA1 Wobec tego konfiguracja portu A i pinu 1....
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...
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ę...
Witam, od paru godzin zmagam się z dziwnym działaniem pinów PB4 i PB5, które chcę skonfigurować jako wejścia (pull-up). Otóż domyślnie po resecie pin PB4 jest skonfigurowany jako JNRST - mimo tego po skonfigurowaniu go jako wejścia, procesor prawidłowo odczytuje to co podam na jego wejście. W tym samym czasie, tak samo skonfigurowany pin PB5 jest cały...
Witam, mam problem z odczytem więcej niż jednego kanału ADC. Dla jednego kanału miałem następujący (działający) kod (z wyzwalaniem przez TIM3). [syntax=c]void adc_init(void) { RCC->APB2ENR |= RCC_APB2ENR_IOPAEN | RCC_APB2ENR_IOPCEN | RCC_APB2ENR_AFIOEN | RCC_APB2ENR_ADC1EN; RCC->APB1ENR |= RCC_APB1ENR_TIM3EN; GPIO_CONF(GPIOA, 0,GPIO_MODE_INPUT, GPIO_CNF_INPUT_ANALOG);...
Czytam ten manual, ale nie wiem co z tego jest mi potrzebne. Jak krok po kroku powinienem rozpocząć pracę z SPI1. Wnioskuję że powinno mniej więcej wyglądać to tak: 1. Zainicjalizować piny do których mam podłączoną kartę SD i ustawić na nich funkcje alternatywne, tzn. zrobić remaping tych pinów ustawiając w nich alternate functions. 2. Zainicjalizować...
(at)tmf - dziękuję za miłe słowa :) Właśnie takie było założenie co do grupy "docelowej". Myślę, że jeszcze długo ATmegi i ATtiny będą punktem startowym dla hobbystów ze względu na nawał informacji w Internecie i mocno zakorzeniony pogląd jakoby wszystko inne było drogie/trudne itd. W sumie chciałem, żeby w poradniku było trochę więcej nawiązań do...
Tak wygląda inicjalizacja SPI bez biblioteki. Init "ze wszystkim": [syntax=C] void spiinit(void) { SPI1->CR2=0x00; //TXEIE=0,RXNEIE=0,ERRIE=0,4:3=0,SSOE=0,... SPI1->CR1=0x0354; //CRCEN=1,BIDIMODE=0,BIDIOE=0,CRCEN=0,CR... } [/syntax] I po co biblioteka?......
schemat jest następujący - standard: http://obrazki.elektroda.pl/7191493100_1... te 4 elementy 3 rezystory i kondensator są niezamontowane - jest to polecane przez ST obwód zamiast rezystora 120R (mniej prądożerny). kod z maina: RCC_APB2PeriphClockCmd(RCC_APB2Perip... ENABLE); GPIO_Conf.GPIO_Pin = GPIO_Pin_10; GPIO_Conf.GPIO_Mode...
Jak rozumiem próbujesz użyć i2c jako master razem z usartem. Tak jak kolega wyżej napisał nie powinno być problemu zarówno jak użyjesz dma czy też nie. Spokojnie większość STMów to pogoni bez dma. Czasami zdarza się taka sytuacja przy użyciu remapowania niektórych peryferii że hardware mimo że na innych pinach się wyklucza. Wtedy trzeba kombinować żeby...
AVR były na początku, najpierw Bascom tiny2313 i Mega8, z barku funduszy i sprzętu moje układy były marnej jakości, często nie działały co bardzo mnie wtedy ograniczało. Dopiero na studiach kupiłem Zl15AVR z Mega32 dzięki któremu poznałem możliwości i peryferia - choć nie wszystko jeszcze sprawdzone. XMegi opanowane mizernie głównie rodzina A4 mimo...
Korzystam z: Układ STM32 P103 (procesor STM32 F103 RBT6) Programator ARM-USB-OCD-H Środowisko CrossWorks v2.1.1 Problem: Pisząc własną obsługę USB wzorowałem się na przykładzie dla Keila (USB HID) i paczce z przykładowymi programami do USB ze strony Olimexa dla układu STM32 P103. Pierwszy (dla Keila) nie działał (operował na innych PINach itp.) ale...
Witam ponownie, zacząłem niedawno zabawę z CANem, a raczej powinienem napisać, że chciałem zacząć. Jako, że ostatnio nie mam dostępu do auta postanowiłem pogadac z interfejsem ELM327. Tak więc podłączyłem CANL z CANL i CANH z CANH między płytką a interfejsem. Idea jest taka: wysyłam komendy do interfejsu przez usart1 a on wysyła do mnie odpowiedzi po...
Ad.1. Jest pewna - większa lub mniejsza - dowolność zależnie od układu. Ad.2. Np. możliwość posadzenia układu "okrakiem" pomiędzy masą analogową i cyfrową. O ile w AVR masz 1 ADC (czyli w sumie 8 kanałów), tak tutaj masz bodajże 3x ADC, 2x DAC do tego na konfigurowanych portach. Ad.3 Nie wiem czy masz SWD czy pełnego JTAGa, ale poszukaj w ref. manualu...
już wiem czemu działa [; myślałem, że w STM32 jest tak jak w ARM7 - że jedynie kawałek pamięci jest remapowany w obszar wektorów przerwań. Doczytałem właśnie, że jednak cały FLASH jest dostępny zarówno pod adresem 0 jak i adresem 0x8000000. Właśnie dlatego całość działa. Cofam więc to co powiedziałem - układ będzie działał poprawnie, bo inicjalizacją...
Dziękuję, utwierdziliście mnie w przekonaniu żebym się zabrał za samodzielną obsługę USB. W sumie zależy mi nie tyle na działającym projekcie, co na jak najlepszym poznaniu tych mikroprocków i USB. (at)nsvinc: tak się składa, że inżynierkę robię na PICach (dokładnie 18F46J50 - remapowalne piny są świetne) i tam też muszę zaimplementować USB, więc chyba...
Nieśmiało zapytam - a włączyłeś zegar dla SYSCFG? Teraz włączyłem :) i faktycznie też działa... Ile ja czasu na takiej głupocie straciłem :), jeszcze przed świętami w wolnej chwili ustawiałem ten remap ale nie miałem efektów a teraz wszystko jasne. Jak to mawiał jeden mądry pan "zasilane urządzenia działają lepiej" :). w EmbSysRegView jest STM32F3...
Witam:) Od kilku dni próbuję uporać się z CAN. Po początkowych próbach z inicjalizacją funkcjami bibliotecznymi odpuściłem je sobie na rzecz inicjalizacji za pomocą rejestrami. Nie podobało mi się, gdy odkryłem, że funkcje ustawiały bit 16 w rejestrze CAN_MCR Odpowiednie zegary, GPIO (Rx-PD0, Tx-> PD1 oraz remap), kontroler NVIC ustawiłem wcześniej...
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...
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...
Panuje nawet pogląd, że LPC się programuje tak jak AVR bo się używa zapisów z rejestrami. Wiele ludzi twierdzi, że są prostsze niż STM. ST upakowało naprawdę wypaśne peryferia, ale też je się da programować jak AVR:) Najbardziej śmieszy opinia o tych "mega-wypaśnych" ustawień, jak to musi być skomplikowane, 32-bitowiec, ARM, 1000-stron manual i strasznie...
Symbole "początek X" i "koniec X" w moim skrypcie nazywają się inaczej niż tego oczekuje "ich" startup. Zmień "ich" _ebss na "moje" __bss_end itd. w startupie albo "moje" na "ich" w skrypcie linkera. Możesz nawet do skryptu linkera dopisac na końcu kilka linijek typu PROVIDE(_sidata = __data_init_start); ("remapując" moje symbole na ich nazwy) i wtedy...
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...
/* disable SWJ debug port - comment if you are using JTAG */ GPIO_PinRemapConfig(GPIO_Remap_SWJ_D... ENABLE); czytałeś w ogóle ten kod?
Od jakiegoś czasu zmagam się z problemem wysłania danych przez UART co określone chwile czasowe. Dokładnie chodzi o to iż jeśli wywołuje funkcje: void uart1WriteByte (t_int8u byte) { while (!(USART1->SR & USART_FLAG_TXE)); USART1->DR = byte; } w pętli głównej programu while(1) { uart1WriteByte(0x77);...
Witam! Walczę już od jakiegoś czasu z dziwnym problemem. Otóż: kiedy inicjalizuję piny odpowiedzialne za SPI1 jako normalne wejścia wyjścia (PA3, PA4, PA5, PA7 jako Output Push-Pull max 50MHz; PA6 jako Floating Input) bez problemu komunikuję się z urządzeniem slave (w tym wypadku panel LCD). PA3 i PA4 to dwie linie CS (bez żadnych pullupów). Przebiegi...
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...
No i znowu. Zamiast suchej listy elementów można by przejść do listy zagadnień - atmega vs xmega i dwa zdania opisujące najbardziej fundamentalne różnice. Najbardziej fundamentalne dla typowego użytkownika to 3.3V zamiast 5, możliwość debugowania przez PDI bez zajmowania pinów na JTAG (więc jeśli dysponujemy programatorem z PDI można sobie JTAG odpuścić),...
Mam bardzo dziwny problem, Do STM32F100 mam dołączony kabelkami PCF8583. Oporniki 4,7k blisko zegara czasu rzeczywistego. I spotkała mnie sytuacja: Jeżeli dotykam PCF-a w momencie resetu mrocka, to wszystko działa poprawnie. Mogę go potem puścić i jest ok, Ale jeśli nie trzymam palca na PCF-ie procek zacina się przy pierwszej generacji sygnału startu....
W Reference Manual, w rozdziale o GPIO i AFIO (zakładam, że mówimy o STM32F1) jest taki podrozdział o nazwie "JTAG/SWD alternate function remapping" i tam masz rozpiskę. Dla STM32F4 w rozdziałach o GPIO jest po prostu podany stan początkowy rejestrów odpowiedzialnych za tryb z uwzględnieniem tego, że dla niektórych portów stan początkowy będzie inny...
Postanowiłem zawalczyć z tym UARTem ale (wstyd przyznać) trochę sobie nie radzę. Podejrzewam, że robię gdzieś jakiś głupi błąd, którego nie mogę zlokalizować. Połączenie STMów wygląda następująco: ZL26ARM programuję z USB za pośrednictwem STM32F4 (SWD->JTAG), oprócz tego ZL'a zasilam sobie z drugiego USB. Na ZL'u USART1 remapowałem sobie na piny PB6(Tx)...
Witam. Po kilku godzinach z CAN postanowiłem napisać, może Wam przyjdzie do głowy co zmaściłem. Program jest prosty: Poprawiłem SYNTAX - staraj się proszę w kolejnych postach poprawnie go umieszczać wykorzystując pole wyboru w edytorze postów. Z auto powtarzaniem mam od razu zapchane trzy skrzynki i na każdej status CAN_TxStatus_Pending, a jak wyłączę...
Pod tymi pinami masz SPI1. Nie wiem tylko czy standardowo czy po re-mapowaniu. Kolego jesteś w błędzie. Są to piny SPI3 jeśli zrobie AF, jeżeli zrobię remap to bedzie spi1. Na SPI1 mam powieszone ethernet na enc28j60, które działa bezbłędnie. A tak jest zrobione wysyłanie. [syntax=c]static void xmit_spi (BYTE Data) // Wyslanie bajtu do SD { //u8 Temp...
Wydaje mi się że nie "przesunąłeś" tablicy wektorów przerwań: SCB->VTOR = VECT_TAB_BASE_ADDRESS | VECT_TAB_OFFSET; w pliku system_stm32l4xx.c Chyba trzeba szukać dalej: Tablica wektorów jest przesunięta w bootloader: SCB->VTOR = APP_ADDRESS; Tę linię należy usunąć z tego pliku o ile nie masz zamiaru zmieniać mapowania pamięci na adres 0x0 (a...
OK poprawiłem kod zapomniałem o remapie linii podłączonych do SPI1, SPI2 [syntax=c] //REMAP TO SPI1 GPIO_PinAFConfig(GPIOA, GPIO_PinSource5, GPIO_AF_0); GPIO_PinAFConfig(GPIOA, GPIO_PinSource6, GPIO_AF_0); GPIO_PinAFConfig(GPIOA, GPIO_PinSource7, GPIO_AF_0); // //REMAP TO SPI2 GPIO_PinAFConfig(GPIOB, GPIO_PinSource15, GPIO_AF_0); GPIO_PinAFConfig(GPIOB,...
Witam Żeby nie zakładać nowego tematu. Jeżeli nie jestem w dobrym miejscu to proszę przenieść. Mam problem z TIM3 z częściowym remapowaniem. Proc. STM32F050C6 Po prostu nie działa. Proszę kolegów o zerknięcie na ten kod. Siedzę trzeci dzień i już mnie coś trafia. Pewnie jakaś drobnostka ale nie widzę. TIM3 ma wygenerować PWM. Na razie o stałej częstotliwości...
kabel remap remap zerować memory remap
monitoring wejsc fotokomórek testowanie oplot kabel
cadillac escalade kosiarka listwowa
Samsung Xpress M2625 - Błąd Drukowania: Diagnoza i Rozwiązania Co oznacza scalak z oznaczeniem AM3?