Ja mam to tak skonfigurowane: [syntax=c] // gpio enkoder - PB4, PB5 RCC->AHB1ENR |= RCC_AHB1ENR_GPIOBEN; GPIOB->MODER |= GPIO_MODER_MODER4_1 | GPIO_MODER_MODER5_1; GPIOB->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR4 | GPIO_OSPEEDER_OSPEEDR5; GPIOB->PUPDR |= GPIO_PUPDR_PUPDR4_0 | GPIO_PUPDR_PUPDR5_0; GPIOB->AFR[0] = 0x00220000; //init enkoder RCC->APB1ENR |= RCC_APB1ENR_TIM3EN;...
Ok, zajrzałem do tego i przeoczyłeś kilka rzeczy: Adres to nie 0x4A tylko 0x94. Właściwie jest to 0x4A przesunięte o 1 bit w lewo (0x94) a ten LSB to jest bit R/!W. Czyli jak chcesz coś zapisać do kontrolera to trzeba wysyłać na adres 0x94, a jak czytać to 0x95 (czytać noty dokładnie! Poza tym jest to na schemacie napisane). Druga sprawa - kontroler...
Włączyłeś SYSCFG w RCC?
Niestety nie wiem, jak skonfigurować przerwanie zewnętrzne, gdyż nie mogę nigdzie znaleźć pod która linie EXTI jest ono podłączone. Manual, rozdział 26.5 RTC interrupts .
Dlaczego? Wpisuję 0 na zerowy bit rejestru CR czyli Disable? Nie, wpisujesz do rejestru DMA2_Stream5->CR zawartość rejestru rejestru DMA2_Stream5->CR ;) Zegar włączany jest w funkcji RCC_Config() To nie jest funkcja włączająca zegar. Włączasz w ten sposób sygnał resetujący DMA2 (ciekawe, czy gdzieś dalej go wyłączasz...).
Ja tam na listingu nie widzę nieskończonej pętli. To czy potrzebujesz przerwania zależy od Twojego pomysłu na program. Natomiast skoro już włączyłeś przerwanie w programie to musisz mieć procedurkę jego obsługi. W przeciwnym wypadku dzieje się to co obserwujesz :]
Myślę że przesunięcie rzędu czas trwania jednej konwersj nie było by problemem więc pytanie nadal aktualne A dlaczego nie wykorzystać możliwości. Jeżeli nie znasz HALa to najpierw zainstaluj sobie przykłady w Cube (ale nie mx) i przeanalizuj je. Wtedy domyślisz się jak zaincjalizować porty, ADC, DMA i timer aby trygierzował konwersje w odpiednim czasie....
a do jakiego układu chciałbyś podpiąć ten wyświetlacz ?, jeśli np do stm32f407, to poszukaj na propix (tam gdzie kupiłeś LCD) takiego zestawu Open407V-D [url=http://propix.com.pl/pl/p/Open407V-... Tam jest schemat podłączenia wyświetlacza itp "gadżetów" oraz przykładowe programy
Chciałbym zrobić przerwanie od Analog Watchdog, które będzie wywoływane gdy napięcie na kanale 10 przetwornika ADC1 wyjdzie poza zakres 1V-2V. No i cóż, przerwanie nie chce występować... Sprawdzałem w debuggerze i w ogólę nie wchodzi do przerwania, więc problem jest zapewne w konfiguracji. Sam ADC1 oczywiście działa i mierzy napięcie. Konfiguracja ADC1...
Witam, Mam problem z konfiguracją DMA. Chcę przekonwertować wartość przesłaną przez DMA na DAC. Sam przetwornik DAC działa poprawnie jednak po dodaniu DMA nie działa. Oto mój kod: [syntax=c]static const uint32_t val=2000; int main(void) { HAL_Init(); __HAL_RCC_DMA1_CLK_ENABLE(); HAL_DMA_DeInit(DMA1_Stream1); DMA_HandleTypeDef hdma1; hdma1.Instance=DMA1_Stream5;...
Witam, Wpadł mi w ręce układ obsługiwany przez magistralę SPI 3-wire (RTC6715). Zastanawiam się jak skonfigurować SPI do dwukierunkowej transmisji? Czy poniższa konfiguracja będzie prawidłowa? http://obrazki.elektroda.pl/1802383500_1... Moduł podłączyłem do procesora łącząc SPIDATA razem z MISO i MOSI. Wydaje mi się że port MISO i MOSI...
Masz racje, miałem błąd w założeniach. Wyjdzie nawet jeszcze wolniej bo z bitem parzystości mam 11 bitów na bajt a to da 18us Ale powiedzmy że trudno, będe wysyłać te dane co 20us. Jak do tego moge podejść bez timerów? Najpewniej, skoro mowa tu o tak wielkie szybkości działania, zrobić ile fabryka dała. Wyzwalać transfer przez dma. przerwanie od dma...
Witam, Tak się składa, że również posiadam tą płytkę oraz używam CooCoxa. Sprawa z jej obsługą wygląda następująco: 1. Potrzebujesz kabla USB: A - B mini 2. Sterownik do USB - ST-LINK/V2 do ściągnięcia 3. STM32 ST-LINK Utility do ściągnięcia 4. Uważaj do jakiego gniazda USB w kompie wkładasz kabel :) pół godziny się męczyłem a wystarczyło przełożyć...
OCD kompilowałem sam I tutaj pewnie jest błąd, bo komunikat świadczy o tym, że program który skompilowałeś nie obsługuje żadnych typów JTAGa (obsługa wszystkiego jest wyłączona). Powodem takiej sytuacji jest brak odpowiednich bibliotek w Twoim systemie i/lub błędna kompilacja/konfiguracja.
W funkcji odczytu zerujesz ACK, ale nigdzie go nie ustawiasz. Jeśli jest zbędne ZAWSZE, to po prostu skonfiguruj odpowiednio rejestr podczas konfiguracji. Jeśli jednak czasem musi być zmieniane, to w funkcji odczytu przywróć poprzednią wartość. 4\/3!! Ustawiam włączanie potwierdzeń przy konfiguracji (pierwszy post) [syntax=c]I2C1->CR1 |= I2C_CR1_ACK;...
Witam od kilku dni pisze na płytce ewaluacyjnej stm32f4discovery. Niestety nie mogę sobie poradzić z uruchomieniem USART`u odbieram dane jednakże nie takie jakie wysyłam więc pewnie chodzi o wartośc w rejestrrze BRR odpowiedzialną za baudrate. Bazuję na dokumentacji i swoim poprzednim projekcie (http://www.elektroda.pl/rtvforum/topic2... jednakże...
Wyjścia typu PP nie podciąga się bo to nie ma sensu. Podciąganie możesz używać przy wejściach albo wyjściach typu "Open-..." Stan na wyjściu PP wymuszają te tranzystory z których zawsze jeden jest otworzony.
1. na discovery i2c2 piny są zajęte przez jakies ustrojstwo. 2. tu masz kod z cuba dla i2c1 i 3 zegary są niepokonfigurowane (bo rozumiem że to zrobiłeś)
W Twoim przypadku mówimy o maksimum 13000 przerwań na sekundę, a nie o 200000 (to był mój przypadek). F4 nawet tego nie zauważy. Przy ciągłej transmisji 115200 (a ciągła raczej nie jest) zajmie to < 1% mocy obliczeniowej. Powtarzam pytanie: w czym problem? Ja miałem 200000 przerwań na sekundę w F0 działającym na 40 MHz.
O ile SPLa hejtuję chórem z innymi hejterami na tym forum, to STemWin będę bronił. Nie widzę podstaw do twierdzenia że biblioteka jest "zagmatwana", jej użycie jest bardzo proste, konfiguracja sprowadza się co najwyżej do podstawienia kilku wywołań funkcji niskopoziomowej komunikacji z LCD. Kod wynikowy waży sporo, ale w dobie mikrokontrolerów z 2MB...
Witam. Chciałbym uruchomić tryb z tytułu na zegarze 4, wykorzystując wyprowadzenie PB6 jako wejściowe oraz PD 15 jako wyjściowe. Używam płytki stm32f407 Discovery. Niestety led cały czas świeci nie zależnie czy zwieram wyprowadzenie do + 3V czy GND. Proszę o wskazanie błędu i pozdrawiam. Oto program: [syntax=c] //out pd15 tim4 one pulse mode GPIOD->MODER...
Czy ktoś wie gdzie może być problem? Na pewno w tym, że nie czekasz ani na ustabilizowanie się zegara HSE, ani na ustabilizowanie się pętli PLL. Te operacje są obowiązkowe zarówno przed użyciem HSE jako źródła dla PLL jak i przed użyciem PLLa jako źródła dla rdzenia. https://github.com/DISTORTEC/distortos/b...
Hej, Chciałem uaktualnić swój stary projekt, w którym używałem Atmegi162. Układ ma łączyć się z zewnętrznym urządzeniem za pomocą magistrali UART, o parametrach 8b danych, 1b stopu, parzystość "even". Obecnie próbuję zrobić te same operacje wykorzystując płytkę z mikrokontrolerem ARM - STM32F407Z (na płytce CORE407). Po paru minutach udało mi się skonfigurować...
Od tego jest RM a nie biblioteki wątpliwej jakości.
I zmień w konfiguracji projektu "cs-make" na "make". 4\/3!!
Zanim ktoś to zacznie czytać pokaż jeszcze konfigurację SPI.
Bardziej chodzi mi o podłączenie wszystkiego w jedną działającą całość tak żeby nic przy tym nie zepsuć programem będę przejmował się później ale chętnie przyjmę wszystkie porady :D
w zakladce registers przy r2 mam 0 ;/
Twoje problemy rozwiązałby jakiś TMS320 z serii C2000. Ale to tylko moje dywagacje. Jeśli chodzi o STM32F4 to musisz przemyśleć czy rzeczywiście 4 MHz jest niezbędne dla ADC. Kiedyś bawiłem się timerami w Keil'u więc kod wstępny na pewno Ci się przyda (kanały timera3 działają na GPIO->C6-C9): odznacz NVIC_EnableIRQ !!! ): [syntax=c]void TIM3_IRQHandler(void)...
To się tak robi ? : Pobierz z mojej strony przykładowy projekt dla STM32F4 i tam masz funkcję do konfiguracji portów, która zajmuje się za Ciebie takimi detalami. http://www.freddiechopin.info/pl/downloa... 4\/3!!
PLLN trzeba ustawić na 8 i działa jak należy.
Czytam i czytam tego RM-a i jakos nie moge załapać. Rozumiem że DMA konfiguruje dla ADC1 (czyli mastera) i to on bedzie odpowiedziałny za transmisję, czy tez muszę identycznie skonfigurować odpowiednie kanały dla wszystkich trzech ADC i ten, na który padnie zgodnie z ustawionym modem prześle te dane. Drugą rzecz, która jest niejasna to czy we wszystkich...
Zacznij od zrobienia tego na pollingu, czyli w pętli while(1), bez przerwań, ale z poprawnym odczytywaniem flag TXE i RXNE przed zrobieniem czegokolwiek. Proponuje więc wrzucić do tej pętli coś takiego: [syntax=c]if ((USART3->SR & USART_SR_RXNE) != 0) { uint16_t x = USART3->DR; while((USART3->SR & USART_SR_TXE) == 0); USART3->DR = x; }[/syntax] Tym...
Po pierwsze, czy w starych bibliotekach zmieniles te timingi z mojego postu wyzej? Zle timingi potrafia zawiesic sam FT (po wlaczeniu pclk) dlatego wypelnienie kolorem ci dziala a wyswietlanie napisu ci nie dziala (w sumie nie napisales czy inne funkcje po inicjalizacji ci dzialaja). W pliku EVE_target.h trzeba wybrać i włączyć jedną z konfiguracji....
Czy ustawienie priorytetów załatwi problem czy może jest jakiś inny powód że przestało to działać? Definitywnie to drugie. Na 99% Twoje przerwania trwają zbyt długo lub użyłeś w nich (pośrednio lub bezpośrednio) funkcji blokujących/oczekujących/pollingu. Jeśli zaczniesz kombinowac z priorytetami bez zrozumienia przyczyny, to tylko wpędzisz się w więcej...
Ustawienia programatora są dobre? Próbowałeś zmniejszyć prędkość SWCLK? Jak wpisałem komunikat błędu w google znalazłem kilka postów. Próbowałeś metod opisanych w tamtych tematach?
Witam. Mam pytanie odnośnie konfiguracji portów w STM32F4. Konfiguracja przykładowego pinu wygląda tak: GPIO_InitStructure.GPIO_Pin = MX_GPIO_PIN; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; GPIO_Init(MX_GPIO,...
Witam, W takim razie ustawienia muszą być takie: SCAN_MODE = DISABLE CONTIUOUS_MODE = DISABLE NRofCONV = 1 EOCSelection = ADC_EOC_SINGLE_CONV ustawiasz który kanał pierwszy ma być mierzony i rozpoczynasz konwersje wpisem do bitu SWSTART w ADC_CR2. Aby zmierzyć napięcie na innym kanale, musisz przeinicjalizować ADC, tzn. zmienić kanał i wywołać np. HAL_ADC_ConfigChannel().
To nie jest konfiguracja tylko funkcja obsługi przerwania. Ta pętla while czekająca na koniec odbioru wygląda nie najlepiej w funkcji przerwania. Na początek spróbuj bez przerwań czy w ogóle działa.
Przykładowe projekty mają skonfigurowane zarówno skróty do OpenOCD jak i konfiguracje dla GDB (we wtyczce GDB Hardware Debugging). Wszystko będzie widoczne po ZAIMPORTOWANIU projektu. 4\/3!!
Jeśli dobrze zrozumiałem problem: Ustawiając rejestr OTYPER nie ustawiasz pinu jako wyjście, tylko konfigurujesz wyjście, prawdopodobnie włączają się jakieś wewnętrzne rezystory, skonfiguruj resetr GPIOx->PUPDR (pullup) oraz TIMx->BDTR bit BKP (wyzwalanie stanem niskim lub wysokim). pzdr
Źle wam z tym, że nie wrzucili całej dokumentacji na kupę do jednego dokumentu PDF? To jest ledwie kilka logicznie podzielonych dokumentów, a nie instrukcja obsługi promu kosmicznego. Wcale nie jest trudno znaleźć coś w dokumentacji do STM32. Tak sądzą ludzie o słabej wyobraźni i krótkowzroczni. Freddie wszystko wyżej w sumie podsumował. Widzę, że...
Wydaje mi się że świecenie diody trwa dłużej niż 1s... raczej jestem przekonany. 1) Masz błędy w konfiguracji zegarów 2) Nie masz żadnej pewności że rdzeń chodzi na 168MHz... 3) Nie wiesz co jest wpisywane do systick'a 4) Wiesz, że takt RTOSa nie wynosi 1ms Na podstawie powyższych punktów ogarnij sprawę zegarów
Konfiguracja do bani. Zła kolejność
Więc rzeczywiście tworzy się plik a.out. Mogę wywoływać bez problemowo z dowolnego katalogu: make --version, sh --version i samo sh Co teraz powinienem zrobić ? Konfiguracja Eclipsa?
Graficzne narzędzie do konfiguracji zegarów znajdziesz np. w CubeMX - w dodatku zweryfikuje Ci poprawność ustawień i wygeneruje fatalny, ale poprawnie działający kod w C.
Witam, Tu jest błąd [syntax=c]GPIOC->MODER |= (0x11ul << 0);[/syntax] powinno być [syntax=c]GPIOC->MODER |= (0x3ul << 0);[/syntax] Na konfiguracje ADC nie patrzyłem, bo nie masz żadnego opisu co jak ustawiasz. Pozdrawia slqa
A ściągnąłeś sobie to co napisał kolega reggyred - czyli STLink Utility? Jeżeli jeszcze działa STlink (w sensie nie upaliłeś go) to po połączeniu SWD w Utility kasujesz procesor i już. A swoją drogą to dobrym patentem (dla początkujących) jest dodanie przed polem konfiguracji portów pustą pętlę opóźniającą tą konfigurację o 1-3 s. Wtedy żadna głupkowata...
Witam, Mam problem z STM32F4 oraz ustawieniem interfejsu I2C. Podlaczylem czujnik temperatury MCP9808 ale nie dziala. Uzywam bibliotek HAL jak rowniez wczesniejszych bibliotek STD i kompletnie nic nie dziala. Czujnik jest odpowiednio podlaczony i podciagniety poprzez 4K7 do (+). Tak samo czujnik podlaczylem do plytki z linuxem i za pomoca narzedzi i2cdetect...
Można po prostu zmienić konfigurację pinu na output, ustawione wcześniej na "low". Gdy chcesz właczyć ponownie PWM, przywracasz konfigurację alternate function.
Z tego co wiem to pewnie trzeba będzie w rejestrze 0x04 ustawić SPK na OFF i HP na ON, następnie w rejestrze 0x06 ustawić na I2S i pewnie jeszcze volume w 0x24 i 0x25. A jeśli coś jeszcze trzeba będzie to ja już nie wiem
Sprawdzę sobie dlaczego, przecież rejestry mogę odczytać programowo i wyświetlić np na tak wykorzystywanym LCD (przykładowo). Nie zrozum mnie źle, nie mam nic przeciwko debugowaniu. Używałem żeby spróbować (z tym, że nie w CoIDE) i uważam że jest to świetna sprawa. Niemniej jednak nie używam na co dzień - ot takie mam usposobienie i nie potrzebuję....
Ok, przetestuję to rozwiązanie. A analizując mój kod, czy jest prawdopodobieństwo, że wszystko działa jak powinno, ale z jakiegoś powodu nie mogę podejrzeć danych, czy bardziej nastawiać się na jakiś błąd w przesyle informacji wynikający ze złej konfiguracji przetwornika ?
Witam A konfiguracja FSMC... co tam ustawiłeś Pozdrawiam
ld.exe: error: G:/eclipse-cpp/workspace-arm/Stm32f4... uses VFP register arguments, Stm32f4.elf does not Spróbuj skompilować projekt z użyciem programowego FPU, a także ze sprzętowym FPU. Wydaje mi się, że biblioteka jest skompilowana do pracy z którąś opcją dlatego wywala błędy przy innej...
Ja tam nie używam żadnych funkcji - cała konfiguracja wyprowadzeń i przypisanie ich do peryferiali to ledwie 3..5 linii kodu dla całego portu.
Jeszcze tylko jedno pytanie. Skąd DMA zna adres rejestru? Przecież w konfiguracji podaję tylko adres DRa...
Poszukaj projektu OpenMV. Tam znajdziesz poprawną konfigurację rejestrów tej kamery dla tej rozdzielczości.
Hmm... Trochę dziwne... Nie sądzę aby to miało problem, ale może to kwestia konfiguracji samego projektu? Przykład na stm32f4 działa z ładowaniem i debugowaniem. Ale działa na STM32F4 czy działa na Twoim układzie jak trochę zmienisz konfigurację OpenOCD? 4\/3!!
Druga i istotniejsza kwestia. Jakoś nie zauważyłem by makro USBD_malloc było użyte w jakimś przerwaniu. Widzę że w każdej z klas występuje tylko raz w USBD_xxxx_Init, dokładnie tak jak tu postulujesz. Tak że teraz już nie wiem o co Ci chodzi. Przecież opisałem to w pierwszym poście - ze screenshotem i z pełnym opisem łańcucha wywołań. USBD_malloc()...
Do konfiguracji zegarów wygodny jest CubeMX. Odwala czraną robotę.
Witam. Mam problem z ustawieniem breakpointów dla jakiejkolwiek konfiguracji w eclipse. Ale od początku. W tej chwili jedyną jako tako działającą konfiguracją jaką posiadam jest openocd + zylig konfiguracja poszczególnych wygląda następująco dla openocd mam ustawiony w eclipse starter wywołujący program z parametrami -f /home/zawisza/bin/board/stm32f4discovery...
Próbuję "klecić" od do zapisu daty i czasu RTC przez rejestry, ale coś mi nie idzie. Czy problemem zapisu w HALu może być to że w CubeMX ustawiłem na BIN i zapisuje w kodzie jako BIN, a z jakiś powodów niewolno stosować konfiguracji BIN tylko BCD?
Witam. W STM32F4 Discovery rzeczywisty baud rate jest około 3 razy mniejszy niż ustawiony w konfiguracji USARTu. Mam też problemy z konfiguracją zegara. Szczerze mówiąc po prostu nie wiem jak go skonfigurować.
STM32f4 64KB RAM. Właśnie się przekonałem, że wiele zależy od konfiguracji pamięci.
Dobra konfiguracja projektu ma duże znaczenie nawet i w tak mocno "zautomatyzowanym" IDE jak Keil. Dobre ustawienie ST-Linka i środowiska to: 1. Poprawnie wybrany mikrokontroler i ustawiony kwarc: http://obrazki.elektroda.pl/1325796100_1... 2. Poprawnie wybrany debugger: http://obrazki.elektroda.pl/8074955900_1... Ustawiony...
28 Lis 2015 20:28: Jakby to kogoś interesowało, to dziś na stronkę projektu dodałem dokumentację generowana przez doxygena. Oczywiście do doskonałości dużo jej brakuje, ale... nie od razu Rzym zbudowano (; http://distortos.org/ > Documentation Jej przeglądanie najlepiej zacząć od (chyba) kompletnego podsumowania publicznych interfejsów systemu, które...
Witam, korzystam z toolchaina od freddiego i Eclipse Luna pod stm32 discoveryf4. Debugowanie ogólnie działa jednak mam problem z breakpointami postawionymi w taskach od FreeRTOSa. Otóż są one jakby ignorowane, program nigdy się w nich nie zatrzymuje chociaż program wykonywany jest poprawnie. Jeśli postawię breakpoint w innym miejscu (przerwanie lub...
Witam, Mam problem z uruchomieniem enkodera, chcę po prostu go obsłużyć. Procek: STM32F405RGT6 Biblioteki:HAL Środowisko: SystemWorkbench Kod inicjalizacyjny: [syntax=c] GPIO_InitTypeDef GPIO_InitStruct; TIM_Encoder_InitTypeDef sConfig; TIM_MasterConfigTypeDef sMasterConfig; //TIM1 GPIO Configuration - Encoder //PA8 ------> TIM1_CH1 //PA9 ------> TIM1_CH2...
Witam, mam problem z generacją PWM z tablicy z wykorzystaniem DMA. Wcześniej ten sam projekt działał na STM32F103 ale po przejściu na Cortex M4 coś nie działa. Konfiguracja peryferiów wykonana w Cube, wszystko analogicznie do tego co działało mi na F103. W debuggerze cały czas wartości rejestrów CCR mają 0, czyli jakby DMA nie chciało przesłać z tablicy...
Mam dokładnie taki problem, jak pisze grysek. Co do ustawień debugowania, to mam konfigurację bazującą na GDB OpenOCD Debugging.
Jako bazę polecam przykład dla LPC1114 + konfiguracja OpenOCD i debuggera z projektu dla STM32F4 4\/3!!
Ciekawe, że podczas prawie globalnego zasięgu bezprzewodowej łączności telefonicznej oraz powszechnego wykorzystania komunikatorów, wciąż znajdują się konstruktorzy pracujący nad odbiornikami i nadajnikami krótkofalowymi dla amatorskiego użytku. Obecnie są to w większości urządzenia cyfrowe, bazujące przeważnie na technologiach SDR (Software-defined...
(at)Piotrus_999 Mam przejściówkę usb ->uart i w ten sposób sprawdziłem że np prędkości 19200, 9600, 4800 działają bo przesyła mi dobre znaki na terminal, natomiast gdy ustawię w stm32f4 discovery prędkośc 300 lub 1200 to w terminalu mam krzaki.
[syntax=c] /* Includes ----------------------------------------... #include "stm32f4xx.h" void RCC_Config(void); void GPIO_Config(void); int main(void) { volatile unsigned long int i; GPIO_Config(); RCC_Config(); GPIO_ResetBits(GPIOG, GPIO_Pin_13 | GPIO_Pin_14 ); while (1) { /*Tu nalezy umiescic glowny kod programu*/ GPIO_WriteBit(GPIOG,...
Dołacz odpowiednią bibliotekę. Opcje linkera w większosci toolchainów -u _printf_float jezeli zamierzasz skanować float-y to również -u _scanf_float Dodano po 4 Nie zauważyłem że to coocox - tam masz o ile pamiętam w konfiguracji projektu odpowiedni checkbox
Cześć wszystkim, Zabrałem się za obsługę wyświetlacza 4.3" opartego na SSD1963 w oparciu o FMC w STM32F429ZIT6. Konfigurację wszystkich podzespołów przeprowadziłem bezpośrednio na rejestrach. Sama procedura konfiguracyjna SSD1963 pochodzi z biblioteki UTFT z Arduino (oczywiście przepisana na potrzeby STMa) - na tamtym procku działa, więc tutaj ten sam...
W ustawieniach projektu w zakładce Linked Resources są wszystkie odpowiednie pliki .h W konfiguracji projektu mam zdefiniowane "USE_STDPERIPH_DRIVER"
W CoIDE obsługa NVIC jest schowana w "misc.h" z Repozytorium. Taka logika ;) A gdybyś od razu napisał, że korzystasz z STM32F4Discovery, to nie musiałbyś się tak zastanawiać. Przecież na tej płytce linia TX jest na sztywno połączona z VBUS portu USB i wyjściem układu kontroli zasilania na tym porcie, a linia RX jest na sztywno spięta z ID. Jeżeli przypadkiem...
Witam Projektuję urządzenie które wykorzystuje 2xSPI, UART, kilka kanałów timerów 8-bitową szynę danych i kilka zwykłych GPIO. Dostaję białej gorączki z przypisaniem poszczególnych pinów (11 stronicowa tabela w manualu). Tabela jest dla całej serii a ja wykorzystuję obudowę 64 pinową. Czy może posiada ktoś tą tabelę (tabela 6 z DM00037051.pdf) w Excelu...
(at)Piotrus_999: Dobrze, masz rację. Odpaliłem na STM32F103 i jak Rx jest tam AF to CAN nie działa, a jak jest input pullup to działa. Nie jestem w stanie tej wiedzy zweryfikować na F4. (at)Damian7546: Ustaw proszę .BS1 = CAN_BS1_5TQ, .BS2 = CAN_BS2_2TQ oraz Preskaler na 21. To powinno Ci dać baud 1M. Ta sama konfiguracja tylko z Preskalerem 42 da Ci...
opisz jak w procesorze STM32F411 skalibrować RTC używająć rejestrów. Posiłkuj się Reference Manual i notą aplikacyją AN4759 Wstępna ocena dostępnych informacji Użytkownik prosi o szczegółowy opis kalibracji zegara czasu rzeczywistego (RTC) w mikrokontrolerze STM32F411, z wykorzystaniem bezpośredniej manipulacji rejestrami. Wskazuje na potrzebę posiłkowania...
Jak chcesz robić taki porządek, to zwróć uwagę na tabelkę w manualu, w której to część konfiguracji opisana jest jako RESERVED... U mnie (stary dokument) - tabelka 14ta, strona 138. Generalnie w nagłówku dołączonym do przykładów znajdują się WSZYSTKIE PRAWIDŁOWE (czytaj "możliwe") konfiguracje. Z tego względu zamiast mnożyć definicje dodaj swoje "aliasy"...
1. Rejestry BSRR i BRR wymyślono po to, żeby NIE używać operacji logicznych na portach, a Ty piszesz np.: LCD_PORT->BSRRL |= (1<<DB4); - kompletnie bez sensu 2. Nie miałem nigdy problemu ze sterowaniem wyświetlaczy 5V zasilanych z 5V z STM32 zasilnych z 3.3,a nawe z 3.0 V. Szukaj błędu w połączeniach lub definicjach/konfiguracji portów. Sprawdź...
Daje już któryś raz z kolei mój kod, działa na F4 na pewno. Może i działa. Ale odbiór na pewno powinien wyglądać inaczej. Do demoh. Resetujesz układ I2c i chcesz juz działać? a gdzie konfiguracja? Podejrzałeś w ogóle rejestry debugerem?
USART1->CR1 |= USART_CR1_UE; //włączenie usart USART6->CR1 |= USART_CR1_UE; //włączenie usart To daj po całej konfiguracji a potem wysyłaj i odbieraj.
Chyba masz rację. W pliku .lss nie umiem znaleźć w ogóle konfiguracji FMC dla LCD. Co z tym można zrobić?
Tam, gdzie masz przerwy wykonuje się przerwanie. Przerwanie od czego? Nie ustawiłem przerwania. Nawet jeśli wyrzucę kod od przerwania SysTick czyli: i jest ładny prostokąt. W pętli while(1) tylko: http://obrazki.elektroda.pl/2213215700_1... Oscyloskop: 2 V /DIV 0.05 us /DIV Zaznaczę iż GPIOA->BSRRH oznacza poziom niski napięcia 0...
Miszmasz wszystkiego zrobiłeś, trochę używasz moich funkcji do zapisu bezpośredniego z rejestrach, trochę od ST do konfiguracji. Nie możesz w całości mojej użyć?
Do konfiguracji i "oglądania" taktowania bardzo dobrze nadaje się program CubeMX od ST.
Cześć, Na inżyniera robię robota kroczącego na 12 serwomechanizmach, 4 nogi, taki pająk. Aby to ładnie zakodować chcę zrobić klasę serwo, klasę noga, klasę robot z odpowiednimi metodami aby kod był przejrzysty i jasny. Problem jest następujący: Klasa serwo ogółem działa, kompiluje się idealnie, aczkolwiek przy próbie użycia jakiejkolwiek zmiennej procek...
A jakbyś np skorzystał z funkcji konfiguracji pinów z mojego przykładu dla STM32F4 - http://www.freddiechopin.info/pl/downloa... ? To wtedy będzie działać czy też nie? <: Może w erracie jakąś ciekawostkę znajdziesz? 4\/3!!
Witam Pierwsza spraw to sprawdź czy faktycznie zapisują się dane do RFM12. Część rejestrów jest typu R/W. Zapisujesz wartość do rejestru, a następnie ją odczytujesz. Jak są takie same to komunikacja jest ok.Najczęstszy problem to konfiguracja SPI. Jak wygląda schemat połączenia układu do kontrolera ? Pozdrawiam W.B.
ze tak zapytam jak patrze na to co dales wyzej to gdzie Ty wogole ustawiasz zegar systemowy etc, bo z tego co widze to tylko dajesz enable magistralom a konfiguracja LCD to tylko ustawienie GPIO w zasadzie
Witam ponownie :) Co prawda nie udało mi się uruchomić komunikacji przez SPI z rejestrem przesuwnym, ale rozwiązałem to programowo :) Mam jednak jeszcze jedno pytanie. Chciałbym zrobić "beep generator". Chodzi mi o to, aby na wyjściu słuchawkowym pojawił się wygenerowany dźwięk. Korzystam z gotowego kodeka dla STM32F4 Discovery. Konfiguracja kodeka...
Jestem na etapie uruchamiania nowego zestawu opartego na STM32F4, w kolejnym kroku postanowiłem uruchomić komunikacje przez UART, w tym celu wykorzystuje przerwanie. Problem jest następujący. pomimo konfiguracji poprawnej przerwanie ląduje w _Default_Handler. Obsługę przerwania mam zdeklarowaną, adres funkcji ląduje do wektora przerwań.
Jeżeli nie chodzi Ci o podstawy C, to książka dla win czy linuxa ma się nijak do programowania mikrokontrolerów. Programowanie mikrokontrolerów to w dużym stopniu znajomość i umiejętność obsługi peryferiów, czyli sprzętu. Z reguły (przynajmniej w moim przypadku) najwięcej kłopotów i błędów pojawia się właśnie przy odpowiedniej konfiguracji i funkcjach...
Czy na pewno PLL jest dobrze skonfigurowana? Wg tej strony PLL_N powinno być 360 by uzyskać 180MHz. https://stm32f4-discovery.net/2015/01/pr... Tyle u siebie dałem i działało.
Tzn. piny powinny być jako open-drain, czy nie? (próbowałem i tak i tak - nie działa) Ok, odczyt z rejestru, który wskazałeś usunę, ale do tego miejsca nawet nie dochodzę. Zatrzymuje się podczas oczekiwania na ustawienie bitu ADDR w rejestrze SR1. Z tego co rozumiem bit ADDR nie jest ustawiany w 1, ponieważ nie otrzymuję ACK od slave'a. Pytanie tylko...
Wszystko jest robione za pomocą makrodefinicji, więc dużo nadmiarowego kodu raczej nie ma. Miałem nadzieję, że mając gotowe biblioteki nie będę musiał wnikać w arkana USB, ale chyba jednak nie ma innej opcji. Co ma też swoje plusy, bo tematyka jest interesująca ;). Ad. PS. W ten sam sposób konfigurowane są wszystkie biblioteki (Flash/SD, USB, Ethernet,...
konfiguracja usart stm32f4 stm32f4 konfiguracja stosu stm32f4 discovery konfiguracja zegar
rozlać bateria telefon pompa kulka sterownik ducati
taśma samowulkanizująca taśma samowulkanizująca
Jak włączyć pin w Arduino - Konfiguracja i kod Jak zrobić płaszcz wodny do kominka - porady i wskazówki